Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
.net 我能';不要将值传递给视图_.net_Asp.net Mvc 2 - Fatal编程技术网

.net 我能';不要将值传递给视图

.net 我能';不要将值传递给视图,.net,asp.net-mvc-2,.net,Asp.net Mvc 2,我只是在玩ASP.NETMVC2学习。我可以传递模型以供查看,但在花费1-2小时后,我无法传递数据以供查看。例如: www.example.com/home/show/asdf我正在尝试获取用于在屏幕上显示的asdf字符串 public ActionResult Test(string ID) { return View(ID); } 使用此方法,我尝试捕获它。然后返回视图。 在我看来,我使用m作为字符串)%>。这看起来很愚蠢。我认为URL上的所有字符串

我只是在玩ASP.NETMVC2学习。我可以传递模型以供查看,但在花费1-2小时后,我无法传递数据以供查看。例如:

www.example.com/home/show/asdf我正在尝试获取用于在屏幕上显示的asdf字符串

    public ActionResult Test(string ID)
    {
        return View(ID);
    }
使用此方法,我尝试捕获它。然后返回视图。 在我看来,我使用m作为字符串)%>。这看起来很愚蠢。我认为URL上的所有字符串都映射到方法,而不是整数,所以我想我必须使用问号,比如这个例子。com/home/Test?asdf?我也要试试这个

编辑:


将url上的整数传递给方法参数让我感到困惑。Example.com/home/test/2在这个url中,2将是test方法的参数,所以我认为字符串也是这样。我认为我们只能传递整数,而不可能对任何其他值执行相同的操作。因此,我认为我只能通过querystring捕捉值,那么我如何传递一个简单的字符串类型来查看呢

不能那样调用View函数。实际上您可以,但它将查找名为URL中键入的任何内容的视图。它不会使用您的测试视图。不能将字符串作为模型传递,因为它必须是对象。检查视图方法重载。我建议您为模型创建一个类,然后将其发送到视图

我建议这样做

public ActionResult Test(string id)
{
    SomeModelClass model=new SomeModelClass(id);
    return View(model);
}
如果要传递字符串,应将其转换为如下对象

public ActionResult Test(string id)
{
    return View((Object)id);
}

不能那样调用视图函数。实际上您可以,但它将查找名为URL中键入的任何内容的视图。它不会使用您的测试视图。不能将字符串作为模型传递,因为它必须是对象。检查视图方法重载。我建议您为模型创建一个类,然后将其发送到视图

我建议这样做

public ActionResult Test(string id)
{
    SomeModelClass model=new SomeModelClass(id);
    return View(model);
}
如果要传递字符串,应将其转换为如下对象

public ActionResult Test(string id)
{
    return View((Object)id);
}
试一试

试一试

公共操作结果测试(字符串ID)
{
ViewData[“ID”]=ID
返回视图();
}

公共操作结果测试(字符串ID)
{
ViewData[“ID”]=ID
返回视图();
}


您可以将“asdf”添加到模型中吗?您可以将“asdf”添加到模型中吗?顺便问一下,您如何捕获url上的字符串?example.com/home/test/asdf在我测试它时不会捕获任何东西。您可以(但这通常不是最好的主意,因为您可能需要更多数据)。您只需将其强制转换为对象,将调用正确的重载:returnview((object)id);当我测试它时,我看到id为空。在global.asax中是否有您定义的其他路由?它应该与default route.routes.MapRoute(“default”、//路由名称“{controller}/{action}/{id}”、//带有参数new的URL{controller=“Home”、action=“index”、id=UrlParameter.Optional}这是我的global.asax,没有另外一个。顺便问一下,你如何在url上捕获字符串?example.com/home/test/asdf在我测试它时不会捕获任何内容。你可以(但这通常不是最好的主意,因为你可能需要更多的数据)。你只需将它转换为对象,正确的重载将被调用:return View((object)id);当我测试它时,我看到id为空。您在global.asax中定义了另一个路由吗?它应该与默认的route.routes.MapRoute(“default”、//路由名称“{controller}/{action}/{id}”、//带有参数的URL new{controller=“Home”、action=“index”,id=urlparmeter.Optional}这是我的global.asax,没有其他方法实际上它不起作用。视图方法重载,需要两个字符串参数。它不会将ID作为模型传递。实际上它不起作用。视图方法重载,需要两个字符串参数。它不会将ID作为模型传递