2016-10-21 5 views
1

asp.netを使用してWebアプリケーションを作成しています。別のページのチェックボックスのプロパティを変更する方法を知りたいと思います。例:my Page2.aspxページにはチェックボックスidが1のチェックボックスがあり、デフォルトではその表示はfalseです。今、私はリンクボタンidのlinkbutton1のクリックイベントと別のページPage1.aspxからcheckbox1の可視性をtrueに設定する必要があります。これについては お願いします。ASP.NETの別のページのリンクボタンからチェックボックスのプロパティにアクセスする

答えて

1

また

page1.aspx

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 

<body> 
    <form id="form1" runat="server"> 
    <div> 
    <asp:linkbutton ID="Linkbutton1" runat="server" onclick="Linkbutton1_Click">LinkButton</asp:linkbutton> 
    </div> 
    </form> 
</body> 
</html> 

page1.aspx.cs

protected void Linkbutton1_Click(object sender, EventArgs e) 
    { 
     Response.Redirect("page2.aspx?visible=1");//this is how to control the visibility 
    } 

とpage2.aspx.cs

protected void Page_Load(object sender, EventArgs e) 
    { 
     //Request.QueryString["visible"].ToString() will be same 

     if (Request.QueryString[0].ToString() != "1") 
     { 
      CheckBox1.Visible = false; 
     } 
     else 
     { 
      CheckBox1.Visible = true; 
     } 
    } 
+0

おかげで、このアプローチを使用することができます@ syed mhamudul hasan、その作品。 –

+0

thakzが評価しました:) –

2

Webはステートレスなので、.NET WebサイトまたはWebアプリケーション内の各ページは互いに独立して読み込まれます。したがって、別の.aspxから1つの.aspxの要素を直接制御することはできません。

ただし、Page1.aspxがポストバックしてからPage2.aspxがロードされたときに、Page1.aspxから保存された設定を使用して目的の設定を読み込むときに、コントロールの目的の設定を保存することができます。

私はセッション管理を使用しての大ファンではないんだけど、このようなものは動作します:

次のイベントは、ページの一つ上に存在する可能性があります。

protected void btnPageOne_Click(object sender, EventArgs e) 
{ 
    Session["PageTwoIsChecked"] = true; 
} 

Page Twoが読み込まれると、ページ1に設定されているセッション情報を確認できます。

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Session["PageTwoIsChecked"] != null && Convert.ToBoolean(Session["PageTwoIsChecked"]) == true) 
     { 
      chkPageTwo.Visible = true; 
     } 
    } 

この情報が役立ちますようにお願いいたします。

関連する問題