【问题标题】:ASP.NET Call JavaScript Function OnClickASP.NET 调用 JavaScript 函数 OnClick
【发布时间】:2013-01-19 01:01:10
【问题描述】:

我有一个带有 FileUpload 控件的 asp.net 页面,以便用户可以浏览以选择文件。我想分配一个默认值,这样用户就不需要浏览,除非他们正在做一些不正常的事情,但文件属性是只读的。

所以我将 FileUpload 控件的 Visible 属性设置为 false 并放入一个文本框和按钮。在那个文本框中,我输入了我想要的默认路径。当用户单击按钮时,我希望它打开单击 FileUpload 控件的浏览窗口。我有这个:

<head>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"/>
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE"/>
<meta content="JavaScript" name="vs_defaultClientScript"/>
<meta content="http://schemas.microsoft.com/intellisense/ie5"name="vs_targetSchema"/>   

<script src="common.js" type="text/javascript"></script>

    <script type="text/javascript">
        function fileBrowse()
        {
            document.getElementById('FileBrowse').click();
        }
    </script>

</head>

然后在代码中我有这个:

Protected Overrides Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    MyBase.Page_Load(sender, e)

    Me.btnINI.Attributes.Add("onclick", "javascript:fileBrowse();")
End Sub

FileBrowse 是页面上 FileUpload 控件的名称。 btnINI 是我要启动浏览的按钮的名称。

当我点击按钮时,什么都没有发生 - 没有错误,什么都没有启动。任何帮助将不胜感激!

【问题讨论】:

  • 您向我们展示了服务器端代码,但描述了一个客户端问题。 ASP 生成什么 HTML?你的问题是你想要的 HTML 没有做你认为应该做的事情,还是你不能从 ASP 生成你想要的 HTML?
  • 看起来 HTML 是正确的。当我加载它显示的页面时:

标签: javascript asp.net


【解决方案1】:

我的猜测是 id 不正确。尝试将 FileBrowser 控件的 ClientID 作为参数传递给 javascript 函数。 另外,检查该函数是否真的被一个警告框调用了。

【讨论】:

  • 我修改了函数:function fileBrowse(ID) { document.getElementById(ID).click() return false;然后代码: Me.btnINI.Attributes.Add("onclick", "javascript:fileBrowse('FileBrowse');") 我得到相同的结果。
  • Me.btnINI.Attributes.Add("onclick", "javascript:fileBrowse('" & FileBrowse.ClientID & "');")
  • 完美运行!非常感谢!
【解决方案2】:

我很确定您不能通过 javascript 在文件选择对话框中设置任何值。这样做存在严重的安全问题,并且浏览器会阻止它。

【讨论】:

    猜你喜欢
    • 2021-08-22
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    相关资源
    最近更新 更多