C# 模型绑定webform TryUpdateModel不工作
我在webform中有一个简单的formview和简单的modelbinding: 描述: 说明: 在代码中:C# 模型绑定webform TryUpdateModel不工作,c#,asp.net,webforms,model-binding,formview,C#,Asp.net,Webforms,Model Binding,Formview,我在webform中有一个简单的formview和简单的modelbinding: 描述: 说明: 在代码中: Models.Model1Container _db = new Models.Model1Container(); protected void Page_Load(object sender, EventArgs e) { bindEvents(); lblResult.ForeColor = System.Dra
Models.Model1Container _db = new Models.Model1Container();
protected void Page_Load(object sender, EventArgs e)
{
bindEvents();
lblResult.ForeColor = System.Drawing.Color.Green;
lblResult.Text = "";
if (!IsPostBack)
{
}
else
{
}
}
private void bindEvents()
{
frm.ItemUpdated += frm_ItemUpdated;
}
void frm_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
{
if (e.Exception == null)
{
lblResult.ForeColor = System.Drawing.Color.Green;
lblResult.Text = "done!";
}
else
{
lblResult.ForeColor = System.Drawing.Color.Red;
lblResult.Text = "error:" + e.Exception.Message;
e.KeepInEditMode = true;
}
}
public SabaDoor2.Models.Content frm_GetItem([System.Web.ModelBinding.QueryString("Id")]int? Id)
{
return _db.Contents.Find(Id);
}
// The id parameter name should match the DataKeyNames value set on the control
public void frm_UpdateItem(int Id)
{
SabaDoor2.Models.Content item = null;
item = _db.Contents.Find(Id);
if (item == null)
{
// The item wasn't found
ModelState.AddModelError("", String.Format("Item with id {0} was not found", Id));
return;
}
var result = TryUpdateModel(item);
if (ModelState.IsValid)
{
_db.SaveChanges();
}
}
public override void Dispose()
{
_db.Dispose();
base.Dispose();
}
tryUpdateModel返回true,但my modeldescription字段未更新
:我发现了逻辑错误:
我必须初始化BindItem.Name属性而不是item.Name
啊,谢谢你!关于asp:FormView和数据绑定的例子并不多。
Text='<%# BindItem.Description %>'