设置Html复选框从代码后面检查没有runat = server

时间:2014-06-14 06:23:10

标签: c# javascript jquery asp.net checkbox

我的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中的值来设置复选框。

4 个答案:

答案 0 :(得分:2)

最后,我使用

从我的.cs文件调用了一个Javascript方法
ScriptManager.RegisterClientScriptBlock(this, typeof(string), "uniqueKey","SetCheckBox('sunday');",true)

以及需要检查的CheckBox值传递的JavaScript方法:

function SetCheckBox(value) {
        $("input:checkbox[value=" + value + "]").attr("checked", true);
    }

答案 1 :(得分:0)

你做不到。如果控件不是runat=server,则您无法在后面的代码中访问它。

答案 2 :(得分:0)

如果你绝对不想要runat =&#34; server&#34; (但我认为你不想使用它的原因可能是基于一种误解),你总是可以在你的Page类中有一些自定义属性,然后将属性(例如&#34;选择&#34;)直接输入你的复选框加价...

 <input type="checkbox" selected="<%=SelectedAttribute%>" .... />

答案 3 :(得分:0)

在复选框标记中:

    代码隐藏中的

    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"] = "";
            }
        }
    }

为我工作。