我使用下面的代碼和RaisePostBackEvent函數使GridView中的行可點擊。在GridView中使包含DropDownList的行可點擊,打破DropDownList
protected void gvResults_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onclick", ClientScript.GetPostBackEventReference(this, e.Row.RowIndex.ToString()));
}
}
GridView還爲其中一個單元格提供DropDownList控件。問題是單擊DropDownList來更改選擇也會觸發該行的onclick。這會導致DropDownList的選項列表可見,但不可用,因爲該行的onclick也已處理。
我試着在DropDownList的onmouseover中設置一個標誌,並在RaisePostBackEvent函數中檢查該標誌,但那只是部分成功。這阻止了RaisePostBackEvent中的功能,但行onclick仍然發生,這意味着DropDownList仍處於不可用狀態。
那麼如何讓DropDownList函數在點擊行的其他部分時仍然允許onclick函數?
注意:我目前限制使用.NET 2.0。
看到這篇文章:http://stackoverflow.com/questions/6491627/prevent-table-row-onclick-event-to-fire-when-clicking-button-inside-the-row – jmaglio 2012-03-09 20:10:48