使用c#表达式定义服务器标签属性值
是否可以从 ac# 表达式设置服务器标记的属性,即类似的内容
<asp:TextBox Width='<%= [some c# expression] %>'/>
?
我虽然这非常简单,但我无法运行这样的表达式。
感谢您的帮助
瑞安
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,这是可能的。您需要确保控件运行服务器端 (
runat="server"
),但具体取决于您尝试在表达式中计算的内容。只要表达式返回一个字符串,就应该没问题。
这将导致浏览器中出现
width='100'
。更新:
以上是完全错误的。您不能以这种方式将服务器端代码呈现块(
<%%>
和<%=%>
)放入服务器端控件标记中(因为它已经是运行服务器端)。为了动态控制该值,这需要在代码隐藏中或在单独的渲染块中完成:
请参阅此 和 此供参考。
Yes, this is possible. You need to make sure the control runs server side (
runat="server"
), but depends on exactly what you are trying to evaluate in the expression.So long as the expression returns a string, it should be fine.
This will result in a
width='100'
in the browser.Update:
The above is completely wrong. You cannot put server side code render blocks (
<%%>
and<%=%>
) in a server side control markup in this manner (since it already is a run server side).In order to dynamically control the value, this needs to be done either in codebehind or within separate render blocks:
See this and this for reference.
请注意您绑定的类型。
例如,
用 绑定这个文本框是
行不通的,而 :
可以...
对你来说是好的代码,
Beware of the type you bind to .
for instance
Binding this textbox with
won't work , whereas :
will do...
good code to you,