当前位置: 代码迷 >> ASP.NET >> 聚合是只读的
  详细解决方案

聚合是只读的

热度:1402   发布时间:2013-02-25 00:00:00.0
集合是只读的?

  if (!Page.IsPostBack)
  {
  if (Request.QueryString["id"] != null)
  {
   
  CustomerBLL bll = new CustomerBLL();
  int id = Convert.ToInt32(Request.QueryString["id"]);
  Customer cus=bll.GetEntity(id);
  Request.Form["Cname"] = cus.Cname;
  Request.Form["Age"] = cus.Age.ToString();
  Request.Form["Sex"] = cus.Sex;
  Request.Form["Phone"] = cus.Phone;
  Request.Form["IDCard"] = cus.IDCard;
  Request.Form["BankCard"] = cus.BankCard;
  Request.Form["Profession"] = cus.Profession;
  Request.Form["Address"] = cus.Address;
  Request.Form["Mark"] = cus.Mark;
  bll.Update(cus);
  }

------解决方案--------------------------------------------------------
是的,你不能赋值,只能读取

Request.Form["Cname"] = cus.Cname;
都改成
cus.Cname = Request.Form["Cname"];
------解决方案--------------------------------------------------------
你要赋值的方法是这样的

this.Cname.Text = cus.Cname;

或者

aspx里面使用<%=%>
------解决方案--------------------------------------------------------
我觉得你应该将代码前后换一下位置:
cus.Cname= Request.Form["Cname"] ;

你这是更新数据库值,不是更新页面的值
这都搞混了
------解决方案--------------------------------------------------------
你完全搞混了,给页面赋值你就用ajax吧,后台传递json的cus对象。前台动态获取给它赋值。或者定义全局变量protected string name;然后赋值name = cus.name;
前台html控件的值是<%=name%>
------解决方案--------------------------------------------------------
修改页面的方法
this.Cname.Text = cus.Cname;

<asp:TextBox id="Cname" runat=server/>

如果是<input name="Cname">这样的,可以定义public类型的
<input name="Cname" value='<%=cus.Cname%>'>赋值
  相关解决方案