我正在努力解决网站是asp.net/C#的问题,但.aspx页面上的控件是HTML,如果我将所有内容更改为asp.net控件,我不确定它会有多好。这种变化也很小。我的任务是添加一个复选框,如<input type="checkbox" name="disableFeatureManager" runat="server" id="disableFeatureManager" />Disable Feature Manager
和.cs页面中我想检查是否选中该框并根据该框做出决定,但控件的checked属性始终为false
。提交按钮也是一个HTML控件:<input type="submit" value="Start" name="submitButton" />
在Page_Load
ckecking中,如果这样的检查返回false。
if (disableFeatureManager != null && disableFeatureManager.Checked)
nextURL.Append(FeatureManagerChoices.CreateQueryStringFromFormData(Request.Form));
答案 0 :(得分:1)
您可以通过执行以下操作将复选框保留为Html服务器控件:
<input type="checkbox" name="disableFeatureManager" runat="server" id="disableFeatureManager" />
然后您可以将按钮更改为Web控件,如下所示:
<asp:Button ID="submitStart" runat="server" OnClick="btn1_Click" Text="Start" ClientIDMode="Static" />
与上面呈现的HTML的唯一区别将是输出的名称,但由于submitStart
是静态的,您将拥有ClientIdMode
的ID,如果您需要友好的一致ID, javascript操作。
要在事件中连接,请添加此代码,该代码将从复选框中读取值:
protected void btn1_Click(object sender, EventArgs e)
{
var isChecked = disableFeatureManager.Checked;
}
答案 1 :(得分:0)
正如我之前提到的,我被置于MVC的深处。同事提供了一个简单的答案(至少在这种情况下):
bool isChecked = false;
if(Request["disableFeatureManager"] != null)
isChecked = (Request["disableFeatureManager"].ToLower() == "on");
if (!isChecked)
nextURL.Append(FeatureManagerChoices.CreateQueryStringFromFormData(Request.Form));
我认为这可以进一步简化为一个IF
语句。