0

我正在研究 ASP.NET。我是新手。我需要设置一个表属性(iscollect="true")。我需要在后面的代码中获取此属性。怎样才能把它当真。请帮忙。提前致谢

或者如果我做错了什么请建议我这是我的例子

<table width="100%" border="0" align="center" runat="server" id="Personal" iscollect="true">
    <tr>
        <td><btn:collection ID="collect" runat="server"/></td>
    </tr>
</table>

背后的代码

public bool iscollect { get; set; }
protected void btnContinue_Click(object sender, EventArgs e)
{
    bool var = iscollect;
    if (iscollect==true)
    {
        Personalcollect.Visible = true;
        SavecollectDetails();
    }
}

如何让这个属性像我在后面的代码中设置的那样真实。请帮忙。谢谢!

4

4 回答 4

1

iscollect 不会在请求之间持续存在。尝试将其存储在视图状态中,如下所示:

public bool iscollect {
    get {return (bool)(ViewState["iscollect"] ?? false)}
    set { ViewState["iscollect"] = value; }
}

然后在 ASPX 文件中添加属性:

iscollect="<%= iscollect %>"
于 2013-09-06T09:36:24.013 回答
1

您可以使用Attributes这样的属性获取表的属性

string value = Personal.Attributes["iscollect"].ToString();

由于您已在页面上声明了一个命名的属性iscollect,因此您可以将其分配给表格标记中指定的值。

private bool _isCollect = false;
public bool IsCollect
{
  get
  {
    Boolean.TryParse(Personal.Attributes["iscollect"], out _isCollect);
    return _isCollect;
  }
}
于 2013-09-06T09:37:35.690 回答
1

试试这个:

在 ASPX 中:

... runat="server" id="Personal"iscollect='<%=iscollect%>'>
于 2013-09-06T09:38:58.117 回答
0

我不知道您是如何编译代码的,但这应该可以:

public bool iscollect {
    get {return (bool)(ViewState["iscollect"] ?? false)}
    set { ViewState["iscollect"] = value; }
}

protected void btnContinue_Click(object sender, EventArgs e)
{
    iscollect = Convert.ToBoolean(Personal.Attributes["iscollect"]);

    if (iscollect)
    {
        Personalcollect.Visible = true;
        SavecollectDetails();
    }
}


<table width="100%" border="0" align="center" runat="server" id="Personal" iscollect="<%=iscollect%>">
    <tr><td><btn:collection ID="collect" runat="server" /></td></tr>
</table>
于 2013-09-06T09:36:37.023 回答