【问题标题】:Get values from TempData into view从 TempData 获取值到视图中
【发布时间】:2012-08-28 21:29:54
【问题描述】:

我想把 TempData 的值放到 View 中

控制器

[NonAction]
    public ActionResult RedirectToMessagePage(string title, string message)
    {
        TempData["SuccessModel"] = new Models.SuccessModel { Title = title, Message = message };

        return RedirectToAction("Result", "Common");
    }

查看

if (TempData["SuccessModel"] != null)
        {

            <div id="validationMessages">
                @{
                    var errors =TempData.Values;
                }
                @if (errors != null && errors.Count() > 0)
                {
                    <div style="position:absolute; background:Black; color:White; top:250px; left:550px;">
                        @foreach (var error in errors)
                        {   
                           @error 
                        }
                    </div>
                }
            </div>
        }

我想查看 TempData["SuccessModel"] 的 Message 的值并希望显示它。

如何显示?

【问题讨论】:

    标签: asp.net-mvc-3 razor


    【解决方案1】:

    下

    var errors =TempData.Values;
    

    你可以投TempData["SuccessModel"]并得到它的消息

    var message = (TempData["SuccessModel"] as Models.SuccessModel).Message;
    

    并使用这个message 变量。

    【讨论】:

    • 谢谢您的建议,我解决了我的问题。但是当我刷新我的页面时,出现了一个问题,这条消息正在显示。我想在刷新页面时删除此消息。那么我该如何删除它呢?
    • @Ajay 因为它在 TempData 中,所以它只会显示一次,如果您在刷新时没有再次放入任何内容(通过您的 RedirectToMessagePage 操作再次传入)。需要更多代码或更精确的答案才能更好地回答......
    • 好的。我有一个包含文本框和按钮的表单。当我单击刷新按钮时,该文本框中的值不清楚。我怎样才能清除这些值。有什么方法可以清除文本框中的值吗?谢谢回复
    • @Ajay :好吧,Javascript 或“清除”方法。如果它与 TempData 问题无关,使用示例代码提出新问题会更容易。我看不出刷新按钮是您自己的按钮还是导航器的刷新 (F5)。如果它与 TempData 有关,我仍然不明白(消息在 TextBox 中?)
    • 好的,我会在其他问题中问这个问题谢谢你的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-03-02
    相关资源
    最近更新 更多