在ASP.NET C#中获取.ClientID时出现问题
Issue getting .ClientID in ASP.NET C#
我在AJAX工具包的AsyncFileUpload的uploadError javascript函数中有以下内容:
function uploadError(sender, args) {
document.getElementById("<%# uploadResult.ClientID %>").innerText = args.get_fileName(), "<span style='color:red;'>" + args.get_errorMessage() + "</span>";
}
不幸的是,ClientID
调用返回Null
,因此javascript出错。
我还注意到,一旦页面加载,我的控件都没有通常的.NET格式:例如:
<asp:Label runat="server" Text="Select an image to upload it to this stock item...." ID="uploadResult" />
通常会这样呈现:
<span id="ctl00_ContentPlaceHolder1_uploadResult">Choose a webstock file to upload...</span>
但对于这个文件,它呈现为:
<span id="uploadResult">Select an image to upload it to this stock item....</span>
我想这也是一个问题,但不知道为什么会发生。
问题是您使用的是仅在绑定(evals(上执行的<%#
语法。
您应该使用<%=
语法,该语法将始终执行。
例如:
function uploadError(sender, args)
{
document.getElementById('<%= uploadResult.ClientID %>').innerText =
args.get_fileName() + "<span style='color:red;'>" +
args.get_errorMessage() + "</span>";
}
有关asp.net内联语法的更多信息,请参阅。
数据绑定语法
内联语法
编辑:请注意,你在分配给innerText
的作业中有,
,如果不是打字错误,这也是一个问题。
function uploadError(sender, args) {
document.getElementById("<%= uploadResult.ClientID %>").innerText = args.get_fileName(), "<span style='color:red;'>" + args.get_errorMessage() + "</span>";
试试
为客户端ClientIDMode="Static"
设置
OR设置在页面级<%@ Page ClientIDMode="Static"
id建议不要强制静态和限制C#ASP自己控件的作用域,而是建议像一样转义特殊字符
document.getElementById('/</%= uploadResult.ClientID /%/>').innertext = "xyz or whatever";
如果需要,将其放入循环中,并迭代每个函数元素Arr,然后将其更改为
document.getElementById('/</%= '+ elementsArr[x] +'.ClientID /%/>').innertext = "xyz or whatever";
但最好的解决方案是使用sizzle(jquery(搜索所有id以ctl00开头的元素,默认情况下,asp元素总是以ctl00为前缀。
$("id^=ctl00").each(){
//使用此函数调用变量的id,然后在下划线(_(上拆分
//将最后一个值推入数组ie所有下划线后的最后一项始终是真实的id。以这种方式使用sizzle,您只能使用asp元素,这要归功于出色的选择器,它是lol-代码更少,做得更多});
我真的为缩写道歉,但它太晚了,我以前也这么做过,这是我所知道的最稳定的选项,你不会因为修改标准细节而潜在地引起任何冲突。(这样做总是不好的(
您可以将ClientID模式设置为静态,也可以尝试使用UniqueID而不是ClientID。
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- 三星智能电视应用程序;Brightcove示例应用程序远程控制问题
- 由于iframe导致的问题
- 在ASP.NET C#中获取.ClientID时出现问题
- 在Javascript中获取asp控件的ClientID的问题