Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我们可以隐式地传递HttpGet查询字符串吗_C#_Asp.net Mvc 4_Query String_Model Binding_Http Get - Fatal编程技术网

C# 我们可以隐式地传递HttpGet查询字符串吗

C# 我们可以隐式地传递HttpGet查询字符串吗,c#,asp.net-mvc-4,query-string,model-binding,http-get,C#,Asp.net Mvc 4,Query String,Model Binding,Http Get,因此,我使用数据库优先和实体框架方法创建了MVC4应用程序。我创建了各自的模型、控制器和视图(通过使用实体框架模板添加具有读/写操作和视图的MVC控制器)。因此,它附带了创建、删除、编辑、索引和详细信息视图以及相应的操作方法。 当我单击“详细信息”、“编辑”或“删除”时,我看到作为action方法中的参数的位置id未随值传递,因此仅使用默认值0。我了解到,使用HttpGet,我们需要在URL中将其作为查询字符串传递,但在我的例子中,如何隐式传递位置ID以进行编辑/详细信息或删除。您可以这样做:

因此,我使用数据库优先和实体框架方法创建了MVC4应用程序。我创建了各自的模型、控制器和视图(通过使用实体框架模板添加具有读/写操作和视图的MVC控制器)。因此,它附带了创建、删除、编辑、索引和详细信息视图以及相应的操作方法。

当我单击“详细信息”、“编辑”或“删除”时,我看到作为action方法中的参数的位置id未随值传递,因此仅使用默认值0。我了解到,使用HttpGet,我们需要在URL中将其作为查询字符串传递,但在我的例子中,如何隐式传递位置ID以进行编辑/详细信息或删除。

您可以这样做:

视图:


列表视图模板的链接是使用@Html.ActionLink创建的,对吗?如果是这样,它们必须分别包含它们想要明确指向的项Id,因此它们应该类似于 @ActionLink(“编辑”,新的{id=item.id})) 如果使用默认路线,则这是正确的


顺便说一句,我很惊讶这些链接在列表模板中默认不包含正确的Id设置。

默认情况下,它们不包含它,现在我传递了新的{Id=item.LocationId},它可以工作了
foreach (var item in Model)
{
    <tr>
        <td>
            @Html.ActionLink("Edit", "EditAction", new {id = item._account})
        </td>
        <td>
            @Html.ActionLink("Details", "DetailsAction", new {id = item._account})
        </td>
        <td>
            @Html.ActionLink("Delete", "DeleteAction", new {id = item._account})
        </td>
   </tr>

}
    //
    // GET: /Controller/EditAction/id 
    public ActionResult EditAction(int id)
    {
         //Do Something
    }

    //
    // GET: /Controller/DetailsAction/id 
    public ActionResult DetailsAction(int id)
    {
         //Do Something
    }

    //
    // GET: /Controller/DeleteAction/id 
    public ActionResult DeleteAction(int id)
    {
            //Do Something
    }