C# 简单的ASP.Net问题<;%#和<;%=不行!
你可以在下面看到我想做什么。我尝试过两种方法来做同样的事情,但这两种方法都不起作用。我不明白的基本原理是什么C# 简单的ASP.Net问题<;%#和<;%=不行!,c#,javascript,asp.net,C#,Javascript,Asp.net,你可以在下面看到我想做什么。我尝试过两种方法来做同样的事情,但这两种方法都不起作用。我不明白的基本原理是什么 <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="javascript:$('#<%= fileInput1.ClientID%>').uploadifyUpload()"> </asp:HyperLink> 或 public void GetJav
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="javascript:$('#<%= fileInput1.ClientID%>').uploadifyUpload()">
</asp:HyperLink>
或
public void GetJavascriptString()
{
返回“javascript:$('#“+fileInput1.ClientID+”).uploadifyUpload();”;
}
有几个答案是可行的,也有不可行的。我想詹姆斯·科伦有我想要的东西。原因是什么,尽管我不确定我的代码为什么不工作,也不知道如何修复它。谢谢你的回答。'
更新:
NavigateUrl=“javascript:”“.uploadifyUpload()”>'
更新:
NavigateUrl=“javascript:”“.uploadifyUpload()”>据我所知,两者都应该做你想做的事情。(假设GetJavascriptString()实际上位于codebehind文件中,或者至少位于
块中。)
你犯了什么错误?据我所知,两者都应该做你想做的事。(假设GetJavascriptString()实际上位于codebehind文件中,或者至少位于
块中。)
您遇到了什么错误?这里有一个非常好的不同脚本标记的运行情况 (通过在Google上搜索asp.net脚本标记找到) 更新: 完成您正试图做的事情的一种方法是:
<script type="text/javascript">
function GetJavascriptString() {
return $('#<%= fileInput1.ClientID %>').uploadifyUpload();
}
</script>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="javascript:GetJavascriptString()" />
函数GetJavascriptString(){
返回$('#')。uploadifyUpload();
}
这只是从超链接调用一个javascript函数,该函数将运行您尝试执行的jquery
另一种可能更好的方法是使用codebehind或内联脚本设置navigate url属性:
<% HyperLink2.NavigateUrl = "javascript:$('#" + fileInput1.ClientID + "').uploadifyUpload();";
%>
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="javascript:GetJavascriptString()" />
这里是一个非常好的不同脚本标记的运行情况 (通过在Google上搜索asp.net脚本标记找到) 更新: 完成您正试图做的事情的一种方法是:
<script type="text/javascript">
function GetJavascriptString() {
return $('#<%= fileInput1.ClientID %>').uploadifyUpload();
}
</script>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="javascript:GetJavascriptString()" />
函数GetJavascriptString(){
返回$('#')。uploadifyUpload();
}
这只是从超链接调用一个javascript函数,该函数将运行您尝试执行的jquery
另一种可能更好的方法是使用codebehind或内联脚本设置navigate url属性:
<% HyperLink2.NavigateUrl = "javascript:$('#" + fileInput1.ClientID + "').uploadifyUpload();";
%>
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="javascript:GetJavascriptString()" />
我认为你可以像这样完成你想要的:
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="myURL"
OnClientClick="javascript: if(document.getElementById('ctl00_myHTMLelementID').value.length > 0 ){ $get('ctl00_myHTMLelementID').uploadifyUpload()" >
</asp:HyperLink>
我们使用OnClientClick(它在任何其他操作之前触发,因此如果返回'False',它不会继续处理任何naviateURL或OnClick),首先确保元素存在,这样我们就不会遇到任何javascript错误,从而冻结页面。”ctl00_myHTMLelementID'是通过在浏览器中查看代码源代码并在HTML中查找ASP.NET为控件命名的内容而获得的
。
根据#和%
ASP.NET注释看起来很像HTML注释(
)
]
ASP.NET有特殊的数据绑定代码,看起来是这样的,它只能在Repeater或GridView中使用
<asp:Label ID="uxActiveLbl" runat="server" Text=’<%# DataBinder.Eval(Container.DataItem, "ClientActive").ToString() == "1" ? "Yes" : "No"%>’ />
而且,只需启动代码块,即可在HTML内部运行ASP.NET代码,如下所示:
<% String myvariable="foobar" %>
我认为你可以像这样完成你想要的:
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl="myURL"
OnClientClick="javascript: if(document.getElementById('ctl00_myHTMLelementID').value.length > 0 ){ $get('ctl00_myHTMLelementID').uploadifyUpload()" >
</asp:HyperLink>
我们使用OnClientClick(它在任何其他操作之前触发,因此如果返回'False',它不会继续处理任何naviateURL或OnClick),首先确保元素存在,这样我们就不会遇到任何javascript错误,从而冻结页面。”ctl00_myHTMLelementID'是通过在浏览器中查看代码源代码并在HTML中查找ASP.NET为控件命名的内容而获得的
。
根据#和%
ASP.NET注释看起来很像HTML注释(
)
]
ASP.NET有特殊的数据绑定代码,看起来是这样的,它只能在Repeater或GridView中使用
<asp:Label ID="uxActiveLbl" runat="server" Text=’<%# DataBinder.Eval(Container.DataItem, "ClientActive").ToString() == "1" ? "Yes" : "No"%>’ />
而且,只需启动代码块,即可在HTML内部运行ASP.NET代码,如下所示:
<% String myvariable="foobar" %>
我认为问题在于ASP.NET不喜欢通过
将文本插入服务器控件
然而,为什么要为超链接这样简单的东西而麻烦服务器控件呢?你真正想要的只是:
<a id="HyperLink1"
href="javascript:$('#<%=fileInput1.ClientID%>').uploadifyUpload()">
</a>
试试看。我认为问题在于ASP.NET不喜欢通过
将文本插入服务器控件
然而,为什么要为超链接这样简单的东西而麻烦服务器控件呢?你真正想要的只是:
<a id="HyperLink1"
href="javascript:$('#<%=fileInput1.ClientID%>').uploadifyUpload()">
</a>
试试看。以前有人问过这个问题,但因为这是关于非字母数字字符的搜索,所以搜索更加困难。看到这个问题了吗:它们叫什么?我知道,用谷歌搜索是没有用的。以前有人问过这个问题,但因为它是关于非字母数字字符的搜索,所以更难。看到这个问题了吗:它们叫什么?我知道,用谷歌搜索是没有用的,这很好。但是我如何让js绕过它呢?但是“$”(“#”部分很重要(他试图在上面调用jQuery)这基本上就是我正在做的。它没有执行脚本标记。这很好。但是我如何让js绕过它呢?但是“$”(“#”部分很重要(他试图在上面调用jQuery)这基本上就是我所做的。它没有执行脚本标记。href=“javascript:$('#')。uploadifyUpload()”是第一个页面的最后一个页面。第二个方法是:href=”“href=“javascript:$('#')。uploadifyUpload()”是第一个页面呈现到最终页面的内容。第二个方法呈现此内容:href=“”如果我查看源代码并找到控件id,我可以将其硬编码到那里。这就是我所做的,但是当页面被其他人更改时,控件id会更改,页面也会断开。只要控件名称从未更改,就可以正常工作。这就是为什么我希望使用fileInput1.ClientID替代