Forum
function Confirm() // JS code
{
var confirmValue = document.createElement("INPUT");
confirmValue.type = "hidden";
confirmValue.name = "confirm_value";
if (confirm("Process Staring ?"))
{
confirmValue.value = "Yes";
document.forms[0].appendChild(confirmValue);
}
else
{
confirmValue.value = "No";
document.forms[0].appendChild(confirmValue);
}
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) // Code Behind
{
Controls.Add(new LiteralControl("<script type='text/javascript'>return Confirm();</script>"));
string confirmValue = Request.Form["confirm_value"];
if (confirmValue == "Yes")
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Yes')</script>");
}
else
{
ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('No')</script>");
}
}
Gw Select butonu ile çağırıyorum
<Columns>
<asp:CommandField HeaderText="Select" SelectText="Select" ShowSelectButton="True" />
</Columns>
Doğru hatırlıyorsam OnSelectedIndexChanged eventi sunucu tarafında çalışır. Bu durum JS kodunuzun çalışmasını engeller.
Çözüm olarak aşağıdaki yöntemi deneyebilirsiniz;
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView drv = (DataRowView)e.Row.DataItem;
e.Row.Attributes.Add("onclick", "JS KODUNUZ");
}
}
hocam Rowdatabound eventı uygunmu ben gw deki select butonuna tıklayınca çagırıyorum
Gw Select butonu ile çağırıyorum
<Columns>
<asp:CommandField HeaderText="Select" SelectText="Select" ShowSelectButton="True" />
</Columns>
Bu yöntemde Rowdatabound eventi istemci tarafındaki "onclick" eventini register etmek için kullanılıyor. Uygundur.