PDA

View Full Version : برگرداندن مقدار یک فیلد در GridView در رویداد RowCommand



HamidNch
چهارشنبه 13 مهر 1390, 11:56 صبح
سلام دوستان.
من یه گریدویو دارم که یه ستون با نام "نمایش" داره و این گریدویو در داخل UpdatePanel قرار داره.
وقتی روی فیلد "نمایش" در هر سطر کلیک میکنم یه پنجره مدال نمایش داه میشه(jQuery Dialog UI)
در داخل این دیالوگ یه گریدویو دیگه قرار داره که با توجه به سطری که در گریدویو اول کلیک شده مقدار اون بازسازی و بایند میشه.
مشکل اینجاست که من روی فیلد نمایش هر سطر که کلیک میکنم،دفعا اول روی هرسطر که کلیک میکنم عمل بایند گرید دوم درست انجام میشه اما دفعا دوم به بعد که روی هر سطر کلیک میکنم همان مقداری رو برمیگردادن که اولین بار برگردانده.
کد بنده نیز بصورت زیر میباشد دیگه کلافه شدم.

protected void grid1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.Equals("form_Show"))
{
String Form_ID = Convert.ToString(e.CommandArgument);
formID.Text = Form_ID;
String script = @"$(document).ready(function (){
$('#dialog:ui-dialog').dialog('destroy');
$('#dialog-form').dialog({
autoOpen: false, resizable: false, height: 'auto', width: 420, direction: 'rtl',
show: 'slide', hide: 'clip', stack: true, position: 'center', title: 'نمایش فرم', modal: true
}); $('.submit').click(function () { $('#dialog-form').dialog('close'); });
unblockUI(); $('#dialog-form').dialog('open'); + @"'); });";

grid2.DataSource = GetData(formID.Text);
grid2.DataBind();
ScriptManager.RegisterStartupScript(this.UpdatePan el1, this.GetType(), "FormShow", script, true);



لازم به توضیح هست که لیبل formID در دیالوگ مدال قرار گرفته.

<asp:Label ID="formID" runat="server" ></asp:Label>


البته وقتی که از این دستور استفاده می کنم.مقدار درست را برمیگرداند:

ScriptManager.RegisterStartupScript(this.UpdatePan el1, this.GetType(), "FormShow", "alert('" + Form_ID + "')", true);