首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><asp:Button CommandArgument=<%:variable value不起作用-“variable”未填充“%>”

问<asp:Button CommandArgument=<%:variable value不起作用-“variable”未填充“%>”
EN

Stack Overflow用户
提问于 2019-03-29 20:05:49
回答 1查看 161关注 0票数 0

我正在尝试将一个变量传递到我的"asp:Button CommandArgument“中--我知道在设置runat=server时,我必须克服一些困难,但我已经尝试了到目前为止所找到的所有方法,但都没有效果

我知道,如果我在"asp:Button CommandArgument“中显式地定义变量,那么我的代码就能很好地工作--但是一旦我尝试通过<% %>语法插入一个变量呢?变量不会替换为它所表示的字符串

我使用vStudio 2019社区预览版(和2017)作为我的集成开发环境,目标是.net框架4.7.2 -一切都是干净的构建,我知道变量的值正在设置中-它没有出现在我的"asp:Button CommandArgument“中,我需要它

我已经尝试了我找到的所有方法--我能找到的<% $>语法的所有排列,都试着使用CodeExpressionBuilder

我的有问题代码的相关部分是

代码语言:javascript
复制
<% if (variable is "value") { %>

<asp:Button ID = "button1" 
    runat = "server" 
    Text = "Processing '<%: variable %>' Records" 
    CommandArgument = '<%: variable %>' 
    OnCommand = "button1_Click" 
/>

<% } %>

我希望我插入到"asp:Button CommandArgument“中的变量被它的当前值所取代

我得到了什么?各种错误消息和my‘或“wrapped <%:<%# <%= variable %>’的字面翻译没有帮助

我知道我可以硬编码一些我想要完成的东西--但这并不是最优的,当我想通过"asp:Button CommandArgument“将变量日期传递给我的过程时,这对我没有帮助。

我知道我一定做错了什么,但无论如何也搞不清楚是什么错了。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2019-03-29 22:20:32

ASP.NET不允许这样声明控件:

代码语言:javascript
复制
<asp:Button ID = "button1" 
    runat = "server" 
    Text = "Processing '<%: variable %>' Records" 
    CommandArgument = '<%: variable %>' 
    OnCommand = "button1_Click" 
/>

原因是解释器在任何内联语句之前都会对<asp:Button … />进行预处理(例如,<%: variable %>)。

若要设置/修改ASP.NET窗体控件的属性,必须在代码隐藏中更改这些属性。最受欢迎的地方应该是Page_Load()活动。如下所示:

代码语言:javascript
复制
void Page_Load(object sender, EventArgs e)
{
   if (!Page.IsPostBack)
   {
       button1.Text = "Processing " + variable + " Records"; 
       button1.CommandArgument = variable;
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55417098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档