没有从Index.cshtml传递回HomeController.cs [英] Not being passed from Index.cshtml back to HomeController.cs

查看:188
本文介绍了没有从Index.cshtml传递回HomeController.cs的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

数据没有从Index.cshtml传递回HomeController.cs。



数据最初填充到表中(为简洁起见省略了代码) 。



@ Url.Action(删除,新的{testID = item.testID})没有将数据返回给控制器。



Index.cshtml

 @ model MDFtoMVCdelete.Models.DeleteModel 

< center >
< 表格 >
@ foreach(Model.thistable中的var项)
{
< tr < span class =code-keyword>> < td > @ item.testID < / td > < td > @ item.datetime < / td > < td > @ item.col1 < / td > < td > @ item.col2 < / td > < td > @ item.col3 < / td > < td > < form 操作 = @ Url.Action( 删除, new { testID = < span class =code-keyword> item.testID }) 方法 = delete > < 输入 < span class =code-attribute> type = submit value = 删除 / > < / form > < / td > < / tr >
}
< /表格 >
< / center >



HomeController.cs

< pre lang =sql> public ActionResult 删除 int testID)
{
//代码省略 简洁
返回 查看();
}



错误代码:

参数字典包含参数'testID'的空条目对于'MDFtoMVCdelete.Controllers.HomeController'中方法'System.Web.Mvc.ActionResult Delete(Int32)'的非可空类型'System.Int32'。可选参数必须是引用类型,可空类型,或者声明为可选参数。 
参数名称:参数

解决方案

首先检查是否有任何值被绑定到参数testid的操作。

如果您只想显示一些删除链接,为什么要使用表单标记,您也可以使用链接来完成。


The data is not being passed from Index.cshtml back to HomeController.cs.

The data is populated initially into the table correctly (code omitted for brevity).

The "@Url.Action("Delete", new{ testID = item.testID }) is not returning the data back to the controller.

Index.cshtml

@model MDFtoMVCdelete.Models.DeleteModel

<center>
    <table>
        @foreach (var item in Model.thistable)
        {
             <tr><td>@item.testID</td><td>@item.datetime</td><td>@item.col1</td><td>@item.col2</td><td>@item.col3</td><td><form action="@Url.Action("Delete", new{ testID = item.testID })" method="delete"><input type="submit" value="Delete" /></form></td></tr>
        }
    </table>
</center>


HomeController.cs

public ActionResult Delete(int testID)
        {
            //code omitted for brevity
            return View();
        }


Errorcode:

The parameters dictionary contains a null entry for parameter 'testID' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult Delete(Int32)' in 'MDFtoMVCdelete.Controllers.HomeController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters 

解决方案

First check if any value is getting binded to your action for parameter testid.
And if you just want to show some delete links why to use form tag, you can do it by using links too.


这篇关于没有从Index.cshtml传递回HomeController.cs的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆