.net - 在asp.net 4.0 mvc中显示viewdata

标签 .net asp.net-mvc asp.net-mvc-3 c#-4.0 razor

我想要做的是在数据库上成功执行查询后显示一条成功消息。一切工作正常,除了我的 View 数据在 View 页面上不显示任何内容。不知道为什么。以下是我的代码,请帮助我。

public class SearchItem
{
    [Required(ErrorMessage = "Required Field")]
    public string searchItem { get; set; }
}


    public ActionResult Index()
    {
        try
        {
            ViewData["SuccessMessage"] = "";
            return View();
        }
        catch (Exception ex)
        {
            return View("EmptySearch");
        }
    }

    [HttpPost]
    public ActionResult Index(string searchItem)
    {
        try
        {
             ............
            //database query with searchItem
            ...............

            string suceesstring = "A WAREHOUSE HOLD has been added.";
            ViewData["SuccessMessage"] = suceesstring;
            return View();
        }
        catch (Exception ex)
        {
            return View("EmptySearch");
        }
    }

这是我的查看页面:

@model KeleIntegratedTools.Models.SearchItem

@{
    ViewBag.Title = "Great Plains hold Insert Utility";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

< h2>Great Plains hold Insert Utility</h2>
< p class ="PenColor" >
Please enter order number to place on warehouse hold.

@using (Html.BeginForm("Index", "GreatPlains"))

{

< div>
    < fieldset>
        < legend>Order Information</legend>

        <div class="editor-label">
            @Html.Label("Order Number")

            @Html.TextBox("searchItem")
            @Html.ValidationMessageFor(m => m.searchItem)
            @Html.Label(ViewData["SuccessMessage"].ToString())
        </div>
        <p>
            <input type="submit" value="Search" />
        </p>
    </fieldset>
</div>
}

最佳答案

您使用了错误的方法。 Label的第一个参数method 是模型的属性名称。它生成带有属性 for="parameterValue"的 html 标签,而不是带有该文本的标签。要向用户显示消息,您应该这样做

@ViewData["SuccessMessage"]

此外,请查看 TempData property

关于.net - 在asp.net 4.0 mvc中显示viewdata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8897632/

相关文章:

c# - System.Web.Mvc.ModelState 不包含 'IsValid' 的定义

validation - ASP.net MVC ValidationSummary 总是被渲染

c# - 不知道为什么我不能在 C# 中匹配这个正则表达式

c# - 解析前过滤LinqToExcel中的空白行(转换/映射)

c# - 当我只对第三个参数感兴趣时,如何定义匹配 3 个参数的路由?

javascript - 为什么我的 AJAX 帖子不会重定向到正确的 ActionResult

forms - MVC3 简单表单验证

.net - Windows 应用程序使用什么数据库?

c# - 无法反序列化值类型的 IComparable 字段

asp.net-mvc - IIS 8 AppPool 使用过多资源,如何找到罪魁祸首?