首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mvc4剃刀在httpget上返回空模型

mvc4剃刀在httpget上返回空模型
EN

Stack Overflow用户
提问于 2013-09-30 11:46:13
回答 1查看 1.1K关注 0票数 0

我想在mvc4剃须刀视图中返回httpget上的空模型。一旦用户从下拉列表中选择值,我将在httppost上获取模型。这就是我所拥有的:

代码语言:javascript
复制
 [HttpGet]
        public ActionResult AddNewAgent()
        {                   
            var modelAgentt = _fe.Agents.Take(1);           
            SelectList sl = new SelectList((from s in _aa.Agent.ToList() select new {COUNTER = s.COUNTER, FullName = s.LASTNAME + ", " + s.FIRSTNAME}), "COUNTER", "FullName", null);
            ViewBag.Agent= sl;
            return View(agg);
        }

然后在HttpPost,我有:

代码语言:javascript
复制
[HttpPost]
        public ActionResult AddNewAgent(int? LamcomAgents)
        {    
            var modelAgent = _fe.Agents.Take(10);
            SelectList sl = new SelectList((from s in _aa.Agent.ToList() select new { COUNTER = s.COUNTER, FullName = s.LASTNAME + ", " + s.FIRSTNAME }), "COUNTER", "FullName", null);
            ViewBag.Agent= sl;
            if (LamcomAgents != null && LamcomAgents != 0)
            {
                return View(modelAgent);                
            }
            return View(modelAgent);            
        }

正确的linq查询仍然不包含在httppost操作中,但我稍后会这样做,我只想知道如何在第一次运行时为httpget传递可空模型,而不会在视图中出现错误。这就是我的看法:

代码语言:javascript
复制
@model IEnumerable<Company.Agents>

@{
    ViewBag.Title = "AddNewAgent";
}

<h2>Add New Agent</h2>

@using (Html.BeginForm()) {
    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)

    <fieldset>
        <p>Agents in System @Html.DropDownList("Agent", String.Empty)&nbsp;&nbsp; <input type="submit" name="Get Agent" value="Get Agent" title="Get Agent" id="btnGetAgent" /></p>
        <legend>Agents</legend>      
   <table>       
                    <tr>
                        <th>@Html.DisplayNameFor(model => model.A_FirstName)</th>
                        <th></th>
                    </tr>
                    <tr>

                    </tr>              
            @foreach(var item in Model)
            {
                <tr><td>
               @Html.DisplayFor(modelItem => item.A_FirstName)
                    </td></tr>
            }
                </table>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

提前谢谢你,Laziale

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-30 12:37:41

假设modelAgenttIEnumerable<Company.Agents>类型的

我认为您需要通过modelAgentt来查看,而不是agg

因此,将代码从in Get方法更改为

代码语言:javascript
复制
return View(agg);

代码语言:javascript
复制
return View(modelAgentt);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19093404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档