首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

jquery的方法参数传递,在源代码有有关问题

2013-03-13 
jquery的方法参数传递,在源代码有问题!1、protected void ListView1_ItemCreated (object sender, ListView

jquery的方法参数传递,在源代码有问题!


1、protected void ListView1_ItemCreated (object sender, ListViewItemEventArgs e) {
//插入或编辑时.
if (e.Item.ItemType == ListViewItemType.DataItem || e.Item.ItemType == ListViewItemType.InsertItem) {
//找到链接类型的DropDownList.
DropDownList ddListLinkType = (DropDownList) e.Item.FindControl ("ddListLinkType");
//找到显示类型的logo地址的控件.
TextBox FLogoURLTextBox = (TextBox) e.Item.FindControl ("FLogoURLTextBox");
if (ddListLinkType != null && FLogoURLTextBox != null) {
ddListLinkType.Attributes["onchange"] = "linkTypeChange(this,'"+FLogoURLTextBox.ClientID+"')";
if (ddListLinkType.SelectedValue == "text") {//如果类型是文件,logo地址隐藏.
//FLogoURLTextBox.Attributes["display"] = "none";
FLogoURLTextBox.Style["display"] = "none";//设置style而不是属性.
}
else if (ddListLinkType.SelectedValue == "pic") {//如果类型是图片,logo地址显示.
FLogoURLTextBox.Style["display"] = "";
}
else {
throw new Exception ("未知");
}
}
}
}
2、<script type="text/javascript">
function linkTypeChange(src, logoUrl) {
if ($(src).val() == "text") {
$("#" + logoUrl).hide();
} else if ($(src).val() == "pic") {
$("#" + logoUrl).show();
 }
else { }
}
</script>
3:描述:DropDownList为"text"->logo隐藏;DropDownList为"pic"->logo显示;这是在ListView中做的。
我发现jquery部分的方法都没有被调用,在后台C#代码传递方法linkTypeChange(src, logoUrl)的logoUrl参数有问题。难道不对么?
[解决办法]
第一个参数this是后台页面对象,你应该传dropdown的id过去,在前台通过jquery根据id来获取他的val()是什么
[解决办法]
哦,我看错了,看成this在引号外了
[解决办法]
你在js函数里弹出第二个参数,再查看页面是不是有这个id
[解决办法]
或者你不用传第二个参数,通过 $(this).parent().find("input")查找那个文本框

<script type="text/javascript">
 function linkTypeChange(src) {
 if ($(src).val() == "text") {
 $(this).parent().find("input").hide();
 } else if ($(src).val() == "pic") {
 $(this).parent().find("input").show();
  }
 else { }
 }
 </script>
[解决办法]
 $(this).parent().find("input")没找到是吗?你看看页面里实际的文本框是不是input,是不是通过其他属性来找那个文本框,并且看看是不是在$(this).parent()下
[解决办法]
$(src).val() 是什么东东?alert一下。
[解决办法]
这个是ListView里的控件,你看看html源代码里这个控件有没有id。如果没有那么你传了clientId也找不到的。。
[解决办法]
在后台是对象。在页面如果你不设置id或者name你怎么会知道是谁呢?
你确认过源代码吗?要是有这个id就没你说的问题了吧。。

[解决办法]
如果有id应该取的到啊。



只能调试了。你在后台程序里看看clientid是什么。再看看页面源代码里的id是什么。

[解决办法]

引用:
引用:在后台是对象。在页面如果你不设置id或者name你怎么会知道是谁呢?
你确认过源代码吗?要是有这个id就没你说的问题了吧。。
不是不是,我不是传给jquery的方法第二个参数就是那个id哈(ClientID),不是么。
我也不懂,控件的id是系统临时给的,不是空。但是就是没有反应。崩溃。我再去调试看看
   ……


你想的没错。。我也这么觉得。。
但是确认下看看思路和现实是不是有出入。
[解决办法]
肯定是你传递参数,获取对象有问题,
jquery源码怎么会有问题,
即使有,你碰上bug的几率也非常小

热点排行