如何将Id的值发送到视图

移动

我想将Id的值-从Upsert(Id)发送到渲染的View,我很挣扎。在我之前的问题中,有一种类似的方法正在起作用,而这种方法却没有。我认为我在Model中做错了什么,但我不知道该做什么。我在哪里犯错?这是我的控制器方法:

    [HttpGet]
    public ActionResult Upsert(int Id)
    {            
        return View();
    }


    [HttpPost]
    public ActionResult Upsert(UpsertViewModel upsertModel)
    {

        if (!ModelState.IsValid)
        {
            return View("Upsert", upsertModel);
        }

        if (!upsertModel.Address.Address_Id.HasValue   ||upsertModel.Address.Address_Id == 0)
        {
            _addressService.insertAddress(upsertModel.Address);
        }
        else
        {
            _addressService.updateAddress(upsertModel.Address);

        }

        return RedirectToAction("Index");
    }

这是我的模型:

namespace Clients.Models
{
public class UpsertViewModel
{
    public UpsertViewModel(AddressModel address)
    {

        Address = new AddressModel();
        Address.Id = address.Id;
        Address.Address_Id = address.Address_Id;
        Address.AddressLine_1 = address.AddressLine_1;
        Address.AddressLine_2 = address.AddressLine_2;
        Address.Postcode = address.Postcode;
        Address.Town = address.Town;
        Address.DateMovedIn = address.DateMovedIn;

    }
    public AddressModel Address { get; set; }
}

}

风景:

@model Clients.Models.UpsertViewModel
@using (Html.BeginForm(FormMethod.Post))
{
    @Html.ValidationSummary()
    @Html.HiddenFor(m=>m.Address.Id)<br/>
    @Html.HiddenFor(m => m.Address.Address_Id)<br />
    @Html.LabelFor(m => m.Address.AddressLine_1) @Html.TextBoxFor(m => m.Address.AddressLine_1)
    @Html.ValidationMessageFor(m => m.Address.AddressLine_1)<br />
    @Html.LabelFor(m => m.Address.AddressLine_2) @Html.TextBoxFor(m => m.Address.AddressLine_2)
    @Html.ValidationMessageFor(m => m.Address.AddressLine_2)<br />
    @Html.LabelFor(m => m.Address.Postcode) @Html.TextBoxFor(m => m.Address.Postcode)
    @Html.ValidationMessageFor(m => m.Address.Postcode)<br />
    @Html.LabelFor(m => m.Address.Town) @Html.TextBoxFor(m => m.Address.Town)
    @Html.ValidationMessageFor(m => m.Address.Town)<br />
    @Html.LabelFor(m => m.Address.DateMovedIn) @Html.TextBoxFor(m => m.Address.DateMovedIn)
    @Html.ValidationMessageFor(m => m.Address.DateMovedIn)<br />


    <input type="submit" value="OK"/>
}
阿尼克特·英格(Aniket Inge)

除了您要为大规模分配漏洞打开应用程序外,

您可以尝试执行以下操作:(这是一个猜测(未安装VS进行测试),请耐心等待)

为添加默认构造函数,UpsertViewModel然后重试。

从您之前的问题和上面提到的代码片段中,Id字段将传递到您的“ GET”方法中,因为UpsertViewModel在先前的问题中具有Id属性,但是现在将其包装在UpsertViewModel.Address中。模型活页夹正在通过反射发挥其魔力

通过@StephenMuecke

为了扩展@Aniket的注释,您的GET方法具有一个名为Id的参数,因此它将其值添加到路由值中(请参阅您<form>元素的action属性)。当您的模型还具有参数名称Id时,在您提交表单时,该值将绑定到您的模型,因为DefaultModelBinder会从表单参数中读取路线参数(和查询字符串值)中的值。在这种情况下,您的模型没有名为Id的属性(只有一个名为Address.Id的属性)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将JSON数据发送到Codeigniter视图

来自分类Dev

如何将值从视图控件发送到angularjs控制器..?

来自分类Dev

如何将Stripe客户ID发送到Parse

来自分类Dev

如何将选定的值发送到Django?

来自分类Dev

如何将值从 Microsoft Bot 发送到 Javascript?

来自分类Dev

如何将值从 setOnValueChangedListener 发送到 onCreate()?

来自分类Dev

如何将列表视图值发送到 android 中的另一个活动

来自分类Dev

如何将视图发送到背景,使其位于主视图后面?

来自分类Dev

如何将数据从VC子视图发送到VC超级视图

来自分类Dev

如何将下拉列表中检索到的值的ID从数据库发送到php文件?

来自分类Dev

如何将下拉列表中检索到的值的ID从数据库发送到php文件?

来自分类Dev

如何将数据从视图发送到控制器

来自分类Dev

如何将UIScrollView的触摸事件发送到其后面的视图?

来自分类Dev

如何将数据从容器发送到iOS中的父视图控制器?

来自分类Dev

MVC Ajax:如何将字符串从视图发送到控制器

来自分类Dev

NavigationLInk 101:如何将数据从主机发送到辅助视图?

来自分类Dev

AngularJS + Bootstrap3:如何将信息从导航变量发送到视图

来自分类Dev

如何将数据从视图发送到控制器

来自分类Dev

如何将变量从控制器发送到Laravel中的视图?

来自分类Dev

如何将数据从角度函数发送到 codeigniter 视图以进行建模

来自分类Dev

如何将数组项哈希值的哈希值发送到csv

来自分类Dev

WPF ListBox将SelectedItem值发送到视图模型

来自分类Dev

如何通过form_open_multipart将ID从视图发送到Controller CodeIgniter

来自分类Dev

如何从aspx视图将Checkbox选中的值发送到控制器中的Formcollection参数

来自分类Dev

如何将chrome扩展ID动态发送到网页以进行消息传递

来自分类Dev

如何将表格单元格的ID发送到javascript中的onclick函数

来自分类Dev

如何将React发送到Express服务器获取请求传递ID

来自分类Dev

如何将Xray跟踪ID发送到AWS上的API网关?

来自分类Dev

如何将电子邮件发送到特定的邮件ID?

Related 相关文章

  1. 1

    如何将JSON数据发送到Codeigniter视图

  2. 2

    如何将值从视图控件发送到angularjs控制器..?

  3. 3

    如何将Stripe客户ID发送到Parse

  4. 4

    如何将选定的值发送到Django?

  5. 5

    如何将值从 Microsoft Bot 发送到 Javascript?

  6. 6

    如何将值从 setOnValueChangedListener 发送到 onCreate()?

  7. 7

    如何将列表视图值发送到 android 中的另一个活动

  8. 8

    如何将视图发送到背景,使其位于主视图后面?

  9. 9

    如何将数据从VC子视图发送到VC超级视图

  10. 10

    如何将下拉列表中检索到的值的ID从数据库发送到php文件?

  11. 11

    如何将下拉列表中检索到的值的ID从数据库发送到php文件?

  12. 12

    如何将数据从视图发送到控制器

  13. 13

    如何将UIScrollView的触摸事件发送到其后面的视图?

  14. 14

    如何将数据从容器发送到iOS中的父视图控制器?

  15. 15

    MVC Ajax:如何将字符串从视图发送到控制器

  16. 16

    NavigationLInk 101:如何将数据从主机发送到辅助视图?

  17. 17

    AngularJS + Bootstrap3:如何将信息从导航变量发送到视图

  18. 18

    如何将数据从视图发送到控制器

  19. 19

    如何将变量从控制器发送到Laravel中的视图?

  20. 20

    如何将数据从角度函数发送到 codeigniter 视图以进行建模

  21. 21

    如何将数组项哈希值的哈希值发送到csv

  22. 22

    WPF ListBox将SelectedItem值发送到视图模型

  23. 23

    如何通过form_open_multipart将ID从视图发送到Controller CodeIgniter

  24. 24

    如何从aspx视图将Checkbox选中的值发送到控制器中的Formcollection参数

  25. 25

    如何将chrome扩展ID动态发送到网页以进行消息传递

  26. 26

    如何将表格单元格的ID发送到javascript中的onclick函数

  27. 27

    如何将React发送到Express服务器获取请求传递ID

  28. 28

    如何将Xray跟踪ID发送到AWS上的API网关?

  29. 29

    如何将电子邮件发送到特定的邮件ID?

热门标签

归档