如何从控制器访问视图元素?

时间:2014-05-25 01:58:31

标签: asp.net asp.net-mvc

我正在构建一个.NET MVC应用程序。我的视图中有一个锚标记,我的要求是从控制器的方法为该标记分配一个href。要清楚,在aspx页面中,我们可以创建一个元素并为其提供一个ID。现在从它的代码背后,我们可以通过它的ID名称来调用它来访问和操作该元素。我试图找出是否有办法实现与MVC类似的行为。

3 个答案:

答案 0 :(得分:1)

有多种方法可以做到这一点。

您可以通过让控制器返回View传递一个对象以用作视图模型来使用视图模型:

<强>控制器

var model = new MyModel();
model.Url = "something";
return View(model);

查看

@model MyModel

<a href="@Model.Url"> link text </a>

或者您可以使用ViewBag:

<强>控制器

ViewBag.Url = "something";
return View();

查看

<a href="@ViewBag.Url"> link text </a>

答案 1 :(得分:0)

如果您想从控制器分配href来查看,可以试试这个。

控制器

public ActionResult Index()
{
    ViewBag.Link ="www.test.com";
    return View();
}

视图

<a href="@ViewBag.Link">Click</a>

这是demo

答案 2 :(得分:0)

如果href是指向webapp之外的地址的链接,那么您只想这样做。如果它在您的应用程序中,那么您应该使用Html.ActionLink ..

@Html.ActionLink("Link text","ActionName","ControllerName")

如果您只想让控制器设置链接地址,而不是将它放在ViewBag中

在控制器中:

    ViewBag.LinkAddress = "http://www.test.com"
    ViewBag.LinkText = "Go to test.com"

在视图中

<a href="@ViewBag.LinkAddress">@ViewBag.LinkText</a>

希望这很清楚。