设置Html复选框从代码后选中,没有runat=server
本文关键字:没有 runat server 复选框 Html 代码 设置 | 更新日期: 2023-09-27 18:08:47
我在aspx页面中设置了复选框:
<input type="checkbox" name="daySelectors" value="monday"/>
<input type="checkbox" name="daySelectors" value="tuesday"/>
<input type="checkbox" name="daySelectors" value="wednesday"/>
我不使用CheckBoxList控件,因为这些复选框在我的html的不同区域,我只需要选择复选框的值。现在,我可以使用
来获取选中复选框的值String dayselector = Request.Form["daySelectors"];
在此之前一切正常。问题是我如何使复选框从后面的代码即我的aspx.cs页面检查。场景是,当我来到这个页面,我有复选框值,需要在默认情况下被选中。我怎么能做到这一点使用的值。我想到的一种方法是,它可以从.cs中触发jquery/Javascript函数来传递值。在这种情况下,我如何设置复选框被选中使用他们的值从jquery
最后,我使用
从我的。cs文件中调用了一个Javascript方法ScriptManager.RegisterClientScriptBlock(this, typeof(string), "uniqueKey","SetCheckBox('sunday');",true)
和传递给需要检查的CheckBox值的JavaScript方法:
function SetCheckBox(value) {
$("input:checkbox[value=" + value + "]").attr("checked", true);
}
不能。如果控件不是runat=server
,则不能在后面的代码中访问它。
如果你绝对不想要runat="server"(但我认为你不想使用它的原因可能是基于一个误解),你总是可以在你的Page类中有一些自定义属性,然后泵属性(如"selected")直接进入你的复选框标记…
<input type="checkbox" selected="<%=SelectedAttribute%>" .... />
在复选框标签中:
后面的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
try
{
if (Request.Form["Archived"].ToString() == "1")
{
Session["checkboxstate"] = " checked='checked' ";
}
}
catch (Exception eee)
{
Session["checkboxstate"] = "";
}
}
}