我试图将网址的id值传递到文本框中,如下图所示,我不知道该怎么做。 here's the image
更新,问题是id的值是通过像
这样的动作链接从另一个视图传递的@Html.ActionLink("Chose Car Type for Car", "Addcar", "Car", new { id = item.Ctid }, null)|
所以我想要的是从两个不同的视图传递属性属于2个不同的控制器和不同的动作,我怎么能这样做,我只需要让一个视图中的属性出现在任何类型的其他类型如viewbag或任何东西。
答案 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" });
答案 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"]