powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не работает двухсторонняя привязка данных
1 сообщений из 1, страница 1 из 1
Не работает двухсторонняя привязка данных
    #38767524
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Подскажите из-за чего может не работать привязка данных(точнее обновление). Вроде уже не раз подобные привязки делал все получалось , а вот тут заклинило и не работает. В процедуры UpdateCategory, DeleteCategory ID всегда равно null заходит. По кнопке Edit редактирование работает(т.е. выделяются данные для редактирования) , но сохранение не происходит т.к. по точке останова видно что в UpdateCategory(int? ID) ID=null

страница
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="Boks34.Pages.WebForm2" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:FormView ID="formView" ItemType="Boks34.Models.Product" SelectMethod="GetProduct" UpdateMethod="UpdateCategory" DataKeyNames="ProductID" runat="server" DeleteMethod="DeleteCategory" InsertMethod="InsertCategory">
                <ItemTemplate>
                    <table>
                        <tr>
                            <th>ID:</th>
                            <td><%#: Item.ProductID %></td>
                        </tr>
                        <tr>
                            <th>Name:</th>
                            <td><%#: Item.Name %></td>
                        </tr>
                        <tr>
                            <th>Category:</th>
                            <td><%#: Item.Description %></td>
                        </tr>

                    </table>

                </ItemTemplate>
                <HeaderTemplate>
                    <asp:Button CommandName="New" Text="New" runat="server" />
                    <asp:Button CommandName="Delete" Text="Delete" runat="server" />
                    <asp:Button CommandName="Edit" Text="Edit" runat="server" />
                </HeaderTemplate>

                <EditItemTemplate>
                    <table>
                        <tr>
                            <th>Name:</th>
                            <td>
                                <input id="name" value="<%# BindItem.Name %>"
                                    runat="server" /></td>
                        </tr>
                        <tr>
                            <th>Category:</th>
                            <td>
                                <input id="category" value="<%# BindItem.Description %>"
                                    runat="server" /></td>
                        </tr>
                        
                        <tr>
                            <td colspan="2">
                                <asp:Button CommandName="Update" Text="Update" runat="server"
                                    Visible="<%# formView.CurrentMode == FormViewMode.Edit %>" />
                                <asp:Button CommandName="Insert" Text="Insert" runat="server"
                                    Visible="<%# formView.CurrentMode == FormViewMode.Insert %>" />
                                <asp:Button CommandName="Cancel" Text="Cancel" runat="server" />
                            </td>
                        </tr>
                    </table>
                </EditItemTemplate>

            </asp:FormView>
        </div>
    </form>
</body>
</html>



код этой страницы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
using Boks34.Models;
using Boks34.Models.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.ModelBinding;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Boks34.Pages
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        Repository repo = new Repository();
        protected void Page_Load(object sender, EventArgs e)
        {
        }

        public void InsertCategory()
        {
            Product myRe = new Product();

            if (TryUpdateModel(myRe, new FormValueProvider(ModelBindingExecutionContext)))
            {
                repo.SaveCategory(myRe);
            }
        }

        public void UpdateCategory(int? ID)
        {
            Product myRe = repo.Products.Where(p => p.ProductID == ID).FirstOrDefault();
            if (myRe != null && TryUpdateModel(myRe, new FormValueProvider(ModelBindingExecutionContext)))
            {
                repo.SaveCategory(myRe);
            }
        }

        public void DeleteCategory(int ID)
        {
            Product myRe = repo.Products.Where(p => p.ProductID == ID).FirstOrDefault();
            if (myRe != null)
            {
                repo.DeleteCategory(myRe);
            }
        }

      
        public IQueryable<Product> GetProduct()
        {
            return repo.Products.AsQueryable<Product>();
        }
       
    }


}



класс Product
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Boks34.Models
{
    public class Product
    {
        [Key]
        public int ProductID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
    }
}
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не работает двухсторонняя привязка данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]