asp.net-4.0 – 我可以强制asp设置与id相同的名称
发布时间:2020-05-24 09:29:12 所属栏目:asp.Net 来源:互联网
导读:我需要处理一个充满各种不同搜索控件的表单,但是这些搜索控件现在位于母版页内,因此id中添加了额外的垃圾(‘ct100 $Body $TextBox_Postal’而不是’TextBox_Postal’) . 我能够通过设置ClientIDMode = CliendIDMode.Static来解决这个问题,这很好用,因为它不会
|
我需要处理一个充满各种不同搜索控件的表单,但是这些搜索控件现在位于母版页内,因此id中添加了额外的垃圾(‘ct100 $Body $TextBox_Postal’而不是’TextBox_Postal’) . 我能够通过设置ClientIDMode = CliendIDMode.Static来解决这个问题,这很好用,因为它不会尝试在id中包含命名容器.我相信页面上永远不会有两个相同的控件,所以这会起作用. 问题是,当回发表单时,控件将按名称处理.名称仍然是’ct1200 $Body $..’格式,因此processform函数无法找到任何控件.有没有办法让ASP在“静态”模式下设置名称? 解决方法简短的回答是否定的,您必须覆盖name属性的呈现,例如下面的问题: ASP.NET: how to remove ‘name’ attribute from server controls?public class NoNamesTextBox : TextBox
{
private class NoNamesHtmlTextWriter : HtmlTextWriter
{
public NoNamesHtmlTextWriter(TextWriter writer) : base(writer) {}
public override void WriteAttribute(string name,string value,bool fEncode)
{
if (name.Equals("name",StringComparison.OrdinalIgnoreCase)) return;
base.WriteAttribute(name,value,fEncode);
}
}
protected override void Render(HtmlTextWriter writer)
{
var noNamesWriter = new NoNamesHtmlTextWriter(writer);
base.Render(noNamesWriter);
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 用于控件名称的参数化前缀的局部视图
- asp.net-mvc – ASP.Net MVC – 处理多个复选框
- ASP.NET MVC表单和双字段
- asp.net-mvc – ASP.NET MVC视图模型命名约定
- asp.net – Web API小写路由
- .Net 更容易的使用配置文件 SuperConfig
- asp.net-mvc – 从ASP.NET MVC操作返回什么来允许jQuery aj
- asp.net-core – 使用Entity Framework 7处理乐观并发的最佳
- asp.net – 跟踪像素或javascript包括?
- ASP.NET Server.HtmlEncode限制
推荐文章
站长推荐
- asp.net-mvc – 使JSON.NET和Serializable属性一
- asp.net-mvc-4 – 如何在SPA HotTowel模板中设置
- asp.net – 如何在SqlDataSource中为存储过程指定
- asp.net-mvc – 在ASP.NET会话中存储任何内容导致
- 在asp.net应用程序中使用Quartz.Net
- asp.net-mvc – 如何在Razor帮助器中使用UrlHelp
- asp.net-mvc – DataAnnotationsModelBinder如何
- asp.net 使用驻留在页面中的Cache缓存常用可定时
- ASP.NET;几个会话变量或“容器对象”?
- asp.net-mvc – 使用文件扩展名创建ActionResult
热点阅读
