[Gridview]点击编辑列,修改后点击更新获取不到修改后的值

Gridview点击编辑列,修改后点击更新获取不到修改后的值

DropDownList下拉框选择值,点击保存获取不到选择的值,而是获取到的是该DropDownList的第一项的值;

解决方法:

将Gridview的绑定函数Gridview_Bind()放在PageLoad的if(!isPostBack)中。

将DropDownList的绑定函数dropdownlist_Bind()放在PageLoad的if(!isPostBack)中。

原因:

不管是Gridview点击更新还是DropDownList选择值后点击保存,页面都会PostBack,此时如果绑定函数不是放在PageLoad的if(!isPostBack)中,则Gridview或者DropDownList都会再次执行绑定函数。导致Gridview修改行的值重新变成原来(修改前)的值,DropDownList默认选择第一项。

总结:

一般页面第一次加载时需要绑定的控件放在if(!isPostBack)中。

using System;using System.Collections.Generic;using System.Text;using System.Web;using System.Web.UI;/// /// 一些常用的Js调用/// 添加新版说明:由于旧版普遍采用Response.Write(string msg)的方式输出js脚本,这种/// 方式输出的js脚本会在html元素的<html></html>标签之外,破坏了整个xhtml的结构,/// 而新版本则采用ClientScript.RegisterStartupScript(string msg)的方式输出,不会改变xhtml的结构,/// 不会影响执行效果。/// 为了向下兼容,所以新版本采用了重载的方式,新版本中要求一个System.Web.UI.Page类的实例。/// 创建时间:2006-9-13/// 创建者:马先光/// 新版作者:周公/// 修改日期:2007-4-17/// 修改版发布网址:http://blog.csdn.net/zhoufoxcn/// public class JScript{ #region 旧版本 /// /// 弹出JavaScript小窗口 /// /// 窗口信息 public static void Alert(string message) { #region string js = @""; HttpContext.Current.Response.Write(js); #endregion } /// /// 弹出消息框并且转向到新的URL /// /// 消息内容 /// 连接地址 public static void AlertAndRedirect(string message, string toURL) { #region string js = ""; HttpContext.Current.Response.Write(string.Format(js, message, toURL)); #endregion } /// /// 回到历史页面 /// /// -1/1 public static void GoHistory(int value) { #region string js = @""; HttpContext.Current.Response.Write(string.Format(js, value)); #endregion } /// /// 关闭当前窗口 /// public static void CloseWindow() { #region string js = @""; HttpContext.Current.Response.Write(js); HttpContext.Current.Response.End(); #endregion } /// /// 刷新父窗口 /// public static void RefreshParent(string url) { #region string js = @""; HttpContext.Current.Response.Write(js); #endregion } /// /// 刷新打开窗口 /// public static void RefreshOpener() { #region string js = @""; HttpContext.Current.Response.Write(js); #endregion } /// /// 打开指定大小的新窗体 /// /// 地址 /// 宽 /// 高 /// 头位置 /// 左位置 public static void OpenWebFormSize(string url, int width, int heigth, int top, int left) { #region string js = @""; HttpContext.Current.Response.Write(js); #endregion } /// /// 转向Url制定的页面 /// /// 连接地址 public static void JavaScriptLocationHref(string url) { #region string js = @""; js = string.Format(js, url); HttpContext.Current.Response.Write(js); #endregion } /// /// 打开指定大小位置的模式对话框 /// /// 连接地址 /// 宽 /// 高 /// 距离上位置 /// 距离左位置 public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left) { #region string features = "dialogWidth:" + width.ToString() + "px" + ";dialogHeight:" + height.ToString() + "px" + ";dialogLeft:" + left.ToString() + "px" + ";dialogTop:" + top.ToString() + "px" + ";center:yes;help=no;resizable:no;status:no;scroll=yes"; ShowModalDialogWindow(webFormUrl, features); #endregion } /// /// 弹出模态窗口 /// /// /// public static void ShowModalDialogWindow(string webFormUrl, string features) { string js = ShowModalDialogJavascript(webFormUrl, features); HttpContext.Current.Response.Write(js); } /// /// 弹出模态窗口 /// /// /// /// public static string ShowModalDialogJavascript(string webFormUrl, string features) { #region string js = @""; return js; #endregion } #endregion #region 新版本 /// /// 弹出JavaScript小窗口 /// /// 窗口信息 public static void Alert(string message, Page page) { #region string js = @""; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "alert")) { page.ClientScript.RegisterStartupScript(page.GetType(), "alert", js); } #endregion } /// /// 弹出消息框并且转向到新的URL /// /// 消息内容 /// 连接地址 public static void AlertAndRedirect(string message, string toURL, Page page) { #region string js = ""; //HttpContext.Current.Response.Write(string.Format(js, message, toURL)); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "AlertAndRedirect")) { page.ClientScript.RegisterStartupScript(page.GetType(), "AlertAndRedirect", string.Format(js, message, toURL)); } #endregion } /// /// 回到历史页面 /// /// -1/1 public static void GoHistory(int value, Page page) { #region string js = @""; //HttpContext.Current.Response.Write(string.Format(js, value)); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "GoHistory")) { page.ClientScript.RegisterStartupScript(page.GetType(), "GoHistory", string.Format(js, value)); } #endregion } // /// // /// 关闭当前窗口 // /// // public static void CloseWindow() // { // #region // string js = @""; // HttpContext.Current.Response.Write(js); // HttpContext.Current.Response.End(); // #endregion // } /// /// 刷新父窗口 /// public static void RefreshParent(string url, Page page) { #region string js = @""; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshParent")) { page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshParent", js); } #endregion } /// /// 刷新打开窗口 /// public static void RefreshOpener(Page page) { #region string js = @""; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "RefreshOpener")) { page.ClientScript.RegisterStartupScript(page.GetType(), "RefreshOpener", js); } #endregion } /// /// 打开指定大小的新窗体 /// /// 地址 /// 宽 /// 高 /// 头位置 /// 左位置 public static void OpenWebFormSize(string url, int width, int heigth, int top, int left, Page page) { #region string js = @""; //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "OpenWebFormSize")) { page.ClientScript.RegisterStartupScript(page.GetType(), "OpenWebFormSize", js); } #endregion } /// /// 转向Url制定的页面 /// /// 连接地址 public static void JavaScriptLocationHref(string url, Page page) { #region string js = @""; js = string.Format(js, url); //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "JavaScriptLocationHref")) { page.ClientScript.RegisterStartupScript(page.GetType(), "JavaScriptLocationHref", js); } #endregion } /// /// 打开指定大小位置的模式对话框 /// /// 连接地址 /// 宽 /// 高 /// 距离上位置 /// 距离左位置 public static void ShowModalDialogWindow(string webFormUrl, int width, int height, int top, int left, Page page) { #region string features = "dialogWidth:" + width.ToString() + "px" + ";dialogHeight:" + height.ToString() + "px" + ";dialogLeft:" + left.ToString() + "px" + ";dialogTop:" + top.ToString() + "px" + ";center:yes;help=no;resizable:no;status:no;scroll=yes"; ShowModalDialogWindow(webFormUrl, features, page); #endregion } /// /// 弹出模态窗口 /// /// /// public static void ShowModalDialogWindow(string webFormUrl, string features, Page page) { string js = ShowModalDialogJavascript(webFormUrl, features); //HttpContext.Current.Response.Write(js); if (!page.ClientScript.IsStartupScriptRegistered(page.GetType(), "ShowModalDialogWindow")) { page.ClientScript.RegisterStartupScript(page.GetType(), "ShowModalDialogWindow", js); } } // /// // /// 弹出模态窗口 // /// // /// // /// // /// // public static string ShowModalDialogJavascript(string webFormUrl, string features) // { // #region // string js = @""; // return js; // #endregion // } #endregion}

你可能感兴趣的:(GridView)