将值从URL传递到View ASP.NET MVC

时间:2017-07-16 06:25:50

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我试图将网址的id值传递到文本框中,如下图所示,我不知道该怎么做。 here's the image

更新,问题是id的值是通过像

这样的动作链接从另一个视图传递的
@Html.ActionLink("Chose Car Type for Car", "Addcar", "Car", new { id = item.Ctid }, null)|

所以我想要的是从两个不同的视图传递属性属于2个不同的控制器和不同的动作,我怎么能这样做,我只需要让一个视图中的属性出现在任何类型的其他类型如viewbag或任何东西。

5 个答案:

答案 0 :(得分:2)

当您输入网址时,您正试图呼叫控制器。所以你应该将参数作为控制器方法的参数捕获,然后通过viewbag

之类的方式将其传递给view

在您的汽车控制器中:

public ActionResult AddCar(int Id)
{
   ViewBag.Id= Id;

   return View();
}
在您看来

@{int id = ViewBag.Id; }<br />
@Html.TextBox("TextboxName",@id)

答案 1 :(得分:1)

您的上下文中的一个简单示例 -

public class HomeController : Controller  
    {  
        public string Index(string id, string name)  
        {  
            return "ID =" + id+"<br /> Name="+name;  
        }  
   }

在返回视图时,您可以执行类似 -

的操作
return View("Act", new { yourQueryString= "itsValueHere" });

之后你可以 - enter image description here

答案 2 :(得分:0)

Textboxfor是与Model绑定数据。所以你必须将视图与模型绑定。 使用id参数生成AddCart操作,之后您可以看到何时传递将出现在id参数中的值。之后加载模型或使用id和属性创建模型并传递给视图。

答案 3 :(得分:0)

在视图中 @ Html.TextBox(&#34; TextboxName&#34;,ViewBag.YourProperty)

在控制器中 ViewBag.YourProperty =&#39; test&#39;;

答案 4 :(得分:0)

您应该通过为此视图定义的模型传递ID。

另一种方法是使用Html.TextBox()并使用@Request.RequestContext.RouteData.Values["id"]

手动提供值