日期:2014-05-17  浏览次数:20506 次

asp.net如何访问html标签
<a id="q" href="q.aspx?id=<%=Server.UrlEncode("ff")%>" runat="server">ff</a>


<%= %>与runat="server"是不是冲突?

有没有好的解决办法
html标签 asp.net 分析器错误 <%=?%>

------解决方案--------------------
 runat="server" 你加了这个属性,则说明这个标签已是服务端控件了,这时候你可以在逻辑代码里直接控制它的,比如你的id="q" ,那么你逻辑代码里直接写上this.q.href="q.aspx?id=" + Server.UrlEncode("ff");

方式二:使用<%= %> 表达式

使用该表达式时,请在逻辑代码里定义好相应的局部变量(对于该页面来说是全局变量),访问类型不能是私有型,只能是公有型或受保护型比如定义一个变量 public string cctv;

然后你在页面加载事件中初始化它,void Page_Load(.....) { cctv = "hello word"; }

然后前端页面就可以使用<%= cctv %>显示了

同理,我们也可以自定义函数或者属性什么的,<%= YourFuntion(param1, param2....); %>
 // 注意,函数调用要加分号结束,至于变量,我一时忘记了,你自己测试吧
------解决方案--------------------
既然都runat=server了,那就直接在cs中处理就好
q.HRef="q.aspx?id=" + Server.UrlEncode("ff");
要不然你就去掉runat=server
不用纠结