将表单操作创建为变量

时间:2013-03-20 16:28:58

标签: asp.net forms webforms action

我没有关注ASPX来源:

  <form name="AddComment" action="ViewArticle.aspx?ArticleID=<%=ArticleID %>" method="post" runat="server">

问题是,当我点击提交时,我得到了这个网址

http://localhost:61175/WebSite1/ViewArticle.aspx?ArticleID=%3C%=ArticleID%20%%3E

但我希望得到这个网址:

http://localhost:61175/WebSite1/ViewArticle.aspx?ArticleID=1

如果我删除“runat =”server“”命令它可以正常工作,但这个表单可以使用 变量和runat服务器同时?

2 个答案:

答案 0 :(得分:1)

也许您可以尝试在表单标记之前设置操作(或在代码隐藏中,根据您的选择)

 <%
     this.Form.Action = "ViewArticle.aspx?ArticleID=" + ArticleID.ToString();
 %>
 <form name="AddComment"  method="post" runat="server">

答案 1 :(得分:1)

在服务器端控件中,您无法执行&lt;%= ActionID%&gt;等操作。你只能绑定&lt;%#ActionID%&gt;。

上层解决方案不起作用,因为表格不是那种形式。您必须提供控件ID +名称而不是设置帖子URL。如果它不是一个选项,你可以在控制树中动态搜索表单项,这样就可以处理动态ID。