Приносим извинения, если этот вопрос задавали раньше, но я разрабатываю User Control с помощью Gridview
. (причина, по которой я делаю это, - это то, что я хочу повторно использовать элемент управления на разных страницах своего приложения).ASP.NET 4.5 - Modelbinding для управления пользователями с помощью Gridview
Я хочу использовать modelbinding
на этом Gridview
, но когда я пытаюсь включить его, он не работает. Это дает мне следующие ошибки, когда я пытаюсь скомпилировать:
'IsValid' is not a member of 'System.Web.ModelBinding.ModelState'.
'AddModelError' is not a member of 'System.Web.ModelBinding.ModelState'.
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="test.ascx.vb" Inherits="Octoplus.test" %>
<asp:GridView ID="GridView1" runat="server" ItemType="Octoplus.OrderHeader" UpdateMethod="GridView1_UpdateItem">
Imports System.Web.ModelBinding
Inherits System.Web.UI.UserControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
' The id parameter name should match the DataKeyNames value set on the control
Public Sub GridView1_UpdateItem(ByVal id As Integer)
Dim item As Octoplus.OrderHeader = Nothing
' Load the item here, e.g. item = MyDataLayer.Find(id)
If item Is Nothing Then
' The item wasn't found
ModelState.AddModelError("", String.Format("Item with id {0} was not found", id))
Return
End If
TryUpdateModel(item)
If ModelState.IsValid Then
' Save changes here, e.g. MyDataLayer.SaveChanges()
End If
End Sub
Кто-нибудь есть идеи?
Заранее спасибо.
Большое спасибо за ваш андерсер. – SoroTrestal
Странно, однако, когда я просто создаю пустой Webform с Gridview и включаю Modelbinding в этот элемент управления, он не дает мне ошибку. Я заметил, что ModelState затем происходит из пространства имен: System.Web.Modelbinding.ModelstateDictionary. – SoroTrestal