Asp.net mvc 按值将数据传递给控制器
这是我的控制器:Asp.net mvc 按值将数据传递给控制器,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,这是我的控制器: public ActionResult RecipeDetails(string recipeString) { RecipeModel Recipe = new RecipeModel(recipeString); return View(Recipe); } 当我尝试像这样使用ActionLink()时,recipeString的值将是null: @Html.ActionLink(Recipe.RecipeName
public ActionResult RecipeDetails(string recipeString)
{
RecipeModel Recipe = new RecipeModel(recipeString);
return View(Recipe);
}
当我尝试像这样使用ActionLink()
时,recipeString
的值将是null
:
@Html.ActionLink(Recipe.RecipeName.ToString(), "RecipeDetails", "Recipe", Recipe.RecipeName }, null)
但当我将其更改为此时,它传递了正确的值:
@Html.ActionLink(Recipe.RecipeName.ToString(), "RecipeDetails", "Recipe", new { RecipeString = Recipe.RecipeName }, null)
这到底是为什么?为什么我不能将
字符串作为路由值传递给控制器???它不知道如何处理Recipe.RecipeName,只是它是一个字符串,通过提供新的{RecipeString=Recipe.RecipeName}
你基本上是在告诉它添加&RecipeString=(Recipe.RecipeName的值)
到查询字符串答案很好。不同之处在于,您需要传递一组键/值对作为第三个参数,然后将其转换为查询字符串。例如:新的{hello:“world”}将被添加为?hello=world。