【问题标题】:Inputs Not Being Populated By Model Passed to View未由传递给视图的模型填充的输入
【发布时间】:2014-01-28 18:24:36
【问题描述】:

我有一个视图,并且正在向它传递一个视图模型以填充强类型输入。视图模型创建得很好。我已调试控制器以确保正确创建模型并使用数据库(SQL Management Server 2008)中的正确值设置视图模型的属性,这没有问题。当我将视图模型传递到视图中时,只填充了一些强类型输入,而其他的则没有。我已检查以确保所有输入都指向正确的模型参数。该表单由 6 个页面组成,我使用 Kendo UI TabStrip 将页面分开。视图模型相当大,所以我想知道这是否是一个因素。基本功能是用户可以开始填写表格,将其保存到数据库,检索他们填写的内容,然后在以后完成。下面是一些示例代码:

这是视图的代码sn-p:

@model myWilmer.Models.QuoteViewModel
<section id="quoteEntry">
    @Html.ValidationSummary(true)
    @using (Html.BeginForm("CreateQuote", "Quotes", FormMethod.Post, new { id =       "quotesForm" }))
    {
          @Html.TextBoxFor(m => m.QuoteNum, new { @class = "k-textbox", Value = "", id = "quoteNumber"})
    }

这是视图模型的 sn-p:

public class QuoteViewModel
{
    public QuoteViewModel()
    {
    }

    [Display(Name = "Quote Number:")]
    [Required]
    [RegularExpression(@"^[0-9]+$")]
    public int QuoteNum { get; set; }
}

这是控制器的sn-p:

 [HttpGet]
 public ActionResult Edit(int id)
 {
     QuoteViewModel qvm;
     //...Creating ViewModel

     return View(qvm);
 }

【问题讨论】:

    标签: asp.net asp.net-mvc razor


    【解决方案1】:

    您通过 Value = "" 覆盖了该值。删除它,它应该可以工作。

    @Html.TextBoxFor(m => m.QuoteNum, new { @class = "k-textbox", id = "quoteNumber"})
    

    【讨论】:

    • 你说得对哈立德。我注意到昨晚深夜,在我去做其他事情后,我用一双崭新的眼睛回来了。我有 2 个使用相同格式的视图,一个视图我需要 value = "" 属性,而我不需要这个特定的属性。这就是我复制和粘贴的结果。再次感谢。
    • 没问题,我自己也做过同样的事情,所以很容易发现:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    相关资源
    最近更新 更多