如何将Controller Element值传递给View(.cshtml)div元素值?

时间:2014-07-14 14:01:45

标签: asp.net-mvc asp.net-mvc-4 asp.net-web-api

我使用.net C#

开发WEB API项目

我需要从controller.cs文件中获取值并将该值用于View(.cshtml)文件。

我的控制器代码:

HomeController.cs

 XmlDocument doc = new XmlDocument();
 doc.Load(httpWebResponse.GetResponseStream());

        XmlElement TransID = (XmlElement)doc.SelectSingleNode("/CensusUploadResponse/TransactionID");
        if (TransID != null)
        {
            string ResultID = TransID.InnerText;

        }

我需要将ResultID传递给Index.cshtml(例如:ResultID = 17)

MY View .cshtml文件代码:

Index.cshtml

   <div runat="server" id="CensusuploadDiv"  style="border:1px solid black; width:420px;">

  </div>

我需要将ResultID值分配给CensusuploadDiv。

我使用ViewBag尝试使用以下方法。但是它没有用。

将ResultID分配给ViewBag,如​​下所示

  if (TransID != null)
        {
            string ResultID = TransID.InnerText;
            ViewBag.Test2 = ResultID;
        }

我得到索引文件中的值,如下所示

<div runat="server" id="CensusuploadDiv"  style="border:1px solid black; width:420px;">
    @ViewBag.Test2
 </div>

但是价值不与div绑定。

2 个答案:

答案 0 :(得分:1)

我通过使用TempData找到解决问题的方法。

TempData帮了我很多......

我在HomeController.cs中使用TempData,如下所示

string result = strBind.ToString();
TempData["Result"] = result;

在view.cshtml中

@TempData["Result"]

这对我来说很好......

答案 1 :(得分:0)

您是否开发了Web API或ASP.NET MVC项目?在视图中从控制器访问值的最佳方法是使用强类型模型:

@model int

<div>@Model</div>

实施例: Index.cshtml

@model int

<div>@Model</div>

HomeController.cs

public ActionResult GetId()
{
   int id;
   ....
   return View(id);
}

请注意,WebApi和MVC控制器略有不同。但这就是它的工作原理。