当前位置: 首页 > 图文教程 > 网络编程 > Javascript > jQuery生成asp.net服务器控件的代码

Javascript
屏蔽Flash右键信息的js代码
JavaScript QueryString解析类代码
JavaScript写的一个自定义弹出式对话框代码
js限制输入框可输入字节数代码
JS与框架页的操作代码
jQuery+CSS 实现的超Sexy下拉菜单
使用IE6看老赵的博客 jQuery初探
jQuery UI.Layout Plug-in做框架
jQuery框架实例代码分析
JS通用代码:Tab选项卡通用js代码
JavaScript脚本的void(0)究竟是何含义
9个优秀的JavaScript实现的评级投票插件教程
jQuery最出色的是 API 设计
jquery团队发布jquery 1.4
jQuery 1.4:15个新特性和优化增强
jQuery插件分享:Flash/MP3/Video多媒体插件
jQuery 1.4官方文档详细讲述新特性功能
网页每次加载调用不同CSS样式表
JQuery知识:20个jQuery教程+11个jQuery插件
制作Web电子表格的jQuery插件:jQuery.sheet

Javascript 中的 jQuery生成asp.net服务器控件的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 169 ::
收藏到网摘: n/a

jQuery生成asp.net服务器控件 但不幸的是,该服务器控件依然没有起作用,还是用隐藏服务器控件来解决吧 HTML如下
复制代码 代码如下:

<tr>
<td class="leftTd" style="width: 107px">附加金额</td>
<td style="width: 315px"><asp:TextBox ID="txtExtendMoney" Text="0" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="regExtend" runat="server" ControlToValidate="txtExtendMoney" Display="Dynamic" ErrorMessage="格式不正确" ValidationExpression="[1-9]\d*\.\d*|0\.\d*[1-9]\d*|^[1-9]\d*|0"></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="reqExtedNo" runat="server" ControlToValidate="txtExtendMoney" Display="Dynamic" ErrorMessage="不可为空"></asp:RequiredFieldValidator></td>
<td class="leftTd">结算方式</td>
<td><asp:DropDownList ID="ddlPayType" runat="server"><asp:ListItem>现金</asp:ListItem><asp:ListItem>银行转账</asp:ListItem></asp:DropDownList></td>
</tr>
<tr>
<td class="leftTd">结算账户</td>
<td colspan="3"><asp:RadioButtonList ID="rdbPayAccountBank" runat="server" RepeatLayout="Flow"></asp:RadioButtonList></td>
</tr>

最后一个RadioButtonList的ListItem为“其他账户",当选中时,其后增加相应的asp.net服务器控件。选择其它时移除该控件。

增加

引入jQuery,然后如下代码

复制代码 代码如下:

/*结算方式*/
$(":radio:last").bind("click",function(){
if($("#txtBankNew").length==0){
$(this).parent().append('<span id="span"><label style="margin-left:6px;margin-right:4px;" for="txtBankNew">开户银行</label><input runat='server' id='txtBankNew' type='text' /><label style="margin-left:6px;margin-right:4px;" for="txtAccountNew">开户账户</label><input type='text' id='txtAccountNew' runat='server' /></span>');
};
$("#txtBankNew").focus().select();
});
$(":radio:not(:last)").bind("click",function(){
if($("#txtBankNew").length>0){
$("#span").remove();
}
});

这里值得注意的是如果append之后的控件为服务器控件,也就是有runat="server"属性的,原先的单引号生成源后会自动变成双引号,并且runat="server"消失。这实际上跟手工在前台书写此DOM结构.net framework处理一致。因此打开此页面源文件可以看到如下

但不幸的是,该服务器控件依然没有起作用……
还是用隐藏服务器控件来解决吧–!