[英]change div display while checkbox checked in gridview using asp.net
我有綁定到數據庫的gridview
。 我有一個checkbox
,我想用checkbox
選中值更改另一個div
display
屬性。 這是我在asp.net中的后端代碼,但是不起作用! 我該怎么解決?
protected void gv_sourceGalleryPic_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "checkPic")
{
CheckBox chkItem = (CheckBox)gv_sourceGalleryPic.FindControl("ck_checkGalleryPic_copyMove");
if (chkItem.Checked == true)
{
div1.Style.Add(HtmlTextWriterStyle.Display, "block");
}
}
}
據我所知,Asp.Net CheckBoxes沒有名為CommandName
和CommandArgument
屬性。 因此,您不能使用RowCommand
事件,該事件將在您更改選中狀態時觸發。 您應該使用一些簡單的javascript代碼,而不是下面的示例代碼:
function hidediv(chk) {
var element = document.getElementById("div1");
if (chk.checked)
{ element.style.display = 'none'; }
}
然后在所有復選框的更改事件上觸發此函數,如下所示:
onchange="hidediv(this);"
順便說一句,如果您只想更改顯示div部分,最好使用html輸入標簽而不是asp.net復選框。
嘗試找到Div
HtmlGenericControl div1= (HtmlGenericControl )gv_sourceGalleryPic.FindControl("div1");
您可以將OnCheckedChanged
事件用於checkbox
而不是onRowCommand
如下所示:
標記
<asp:GridView runat="server" ID="gv_sourceGalleryPic">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="ck_checkGalleryPic_copyMove" runat="server"
OnCheckedChanged="chkBox_CheckedChanged" AutoPostBack="true" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
后面的代碼
protected void chkBox_CheckedChanged(object sender, EventArgs e)
{
CheckBox chk = sender as CheckBox;
if (chk.Checked)
{
div1.Style.Add(HtmlTextWriterStyle.Display, "block");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.