Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не работает двухсторонняя привязка данных / 1 сообщений из 1, страница 1 из 1
06.10.2014, 09:50
    #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
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Не работает двухсторонняя привязка данных / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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