asp.net 中 <%# %> 怎么使用,还需要注意什么
如图,url 传入的 变量不解析,怎么回事,在浏览器中打开的链接依然是<%%> 之类的原有的字符
asp.net
ASP.NET
<%?%>
------解决方案--------------------唉。
只有在具有DataBinding事件的对象上才能使用绑定表达式。HyperlinkField根本不是asp.net控件,它并不支持绑定表达式。
如果需要使用绑定表达式,应该在你的vs设计页上进入此GridView的“编辑列”窗口,选择此HyperlinkField,然后点击底下的“将字段转换为Template”。
然后再选择Grid的“编辑模板”选项,从下拉列表中找到这个列,此时界面上出现Hyperlink,选择其右上角的“编辑databinding”选项,在设计窗口中再选择“NavigateUrl",然后在右下角的“自定义绑定 代码表达式”文本框上输入(这里假设你的lei是int类型)
Get报名FormatString((int)Eval("lei"),(string)Eval("title"))
这时候你可以看看html源代码,已经将连接地址写为绑定表达式形式。
然后在代码中实现这个 Get报名FormatString 方法,例如
protected string Get报名FormatString(int lei, string title)
{
return this.ResolveUrl("~/show.aspx")+ "?id=" + title+ "&BaiMing=" + lei;
}
------解决方案--------------------回到你的标题中的问题“asp.net 中 <%# %> 怎么使用,还需要注意什么”来看,其实这可能是需要:
1. 需要了解一点点原理或者哪怕是规则,千万不能仅凭胡乱照抄、胡乱试。
2. 要多多使用开发工具,少写代码。因为工具会帮你写大部分代码。实际上熟练的开发者不需要写代码而是非常了解哪些设计工具更好用,反而是那些认为自己比较“精通”简单代码的人(其实只是了解了不足一半的开发知识)才喜欢什么都手写代码。
------解决方案--------------------你用的是服务器控件的绑定的话,需求在CS那里写函数了,6楼正解:
protected string Get报名FormatString(int lei, string title) { return this.ResolveUrl("~/show.aspx")+ "?id=" + title+ "&BaiMing=" + lei; }
或你在HTML中的GRIDVIEW中加模板
模板中放<a href='~/show.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id")%>&name='<%#DataBinder.Eval(Container.DataItem,"name")%>详细信息</a>
字段自己改过来就好了。