Asp.net mvc Win8 ASP.net HttpRouteUrl
我对Win8和ASP.net开发还很陌生,我对任何缺乏清晰性或规范表示歉意,因为我是一名3D图形程序员,从事ASP.net后端系统的开发。目标是与目标Win8应用程序通信,以使用用户(管理员)通过ASP.net网站输入的数据 我遇到了多重障碍和死胡同,因为它是新的Win8技术和一些可靠的参考资料 在HomeController.cs中,我尝试调用:Asp.net mvc Win8 ASP.net HttpRouteUrl,asp.net-mvc,windows,winapi,Asp.net Mvc,Windows,Winapi,我对Win8和ASP.net开发还很陌生,我对任何缺乏清晰性或规范表示歉意,因为我是一名3D图形程序员,从事ASP.net后端系统的开发。目标是与目标Win8应用程序通信,以使用用户(管理员)通过ASP.net网站输入的数据 我遇到了多重障碍和死胡同,因为它是新的Win8技术和一些可靠的参考资料 在HomeController.cs中,我尝试调用: public ActionResult Admin() { string apiUri = Url.HttpRouteU
public ActionResult Admin()
{
string apiUri = Url.HttpRouteUrl("DefaultApi", new { controller = "testModel", });
ViewBag.ApiUrl = new Uri(Request.Url, apiUri).AbsoluteUri.ToString();
return View();
}
这样我就可以启用到我的管理员控制器的路由。但是,我在浏览器中获得以下输出:
我正在使用从internet下载的示例项目作为框架,因为它包含WebApiConfig.cs文件,然而,生成一个新的VS2012 ASP.NET MVC Web应用程序项目并不包含此文件,我相信我需要它,因为这是我能够指定我希望序列化为JSON并删除XML格式的点
我已经清理了bin中的.DLL文件,并清理了obj文件夹,以防它引用的对象不再存在
我还创建了几个其他项目,其中一个使用向导生成的VS2012 MVC Web app项目,它实现:
Url.RouteUrl
而不是
Url.HttpRouteUrl
但我确信这不会达到同样的效果,因为我希望通过互联网将http从服务器传输到目标应用程序。如果我尝试使用后者,则会出现以下错误:
'System.Web.Mvc.UrlHelper' does not contain a definition for 'HttpRouteUrl' and no extension method 'HttpRouteUrl' accepting a first argument of type 'System.Web.Mvc.UrlHelper' could be found (are you missing a using directive or an assembly reference?)
作为参考,这是我用来帮助这部分项目的文章:
我非常感谢您的帮助(这与OpenGl和DirectX非常不同)因为这是一个标准的MVC控制器操作,而不是ApicController操作,所以此控制器中的Url属性只是标准的 您可以使用以下选项:
public ActionResult Admin()
{
string apiUri = Url.RouteUrl(
"DefaultApi",
new { httproute = "", controller = "Values" },
Request.Url.Scheme
);
ViewBag.ApiUrl = apiUri;
return View();
}
请注意routeValues参数中使用的
httproute=“
”,以及指定协议参数如何生成绝对url,以便您无需通过创建新的Uri
对象和内容进行调整。因为这是标准MVC控制器操作,而不是ApiController操作,此控制器内的Url属性只是标准属性
您可以使用以下选项:
public ActionResult Admin()
{
string apiUri = Url.RouteUrl(
"DefaultApi",
new { httproute = "", controller = "Values" },
Request.Url.Scheme
);
ViewBag.ApiUrl = apiUri;
return View();
}
请注意routeValues参数中使用的
httproute=“
”,以及指定协议参数如何生成绝对url,以便您无需通过创建新的Uri
对象和内容进行调整。感谢Darin的响应,apiUri现在正在存储“”感谢Darin的响应,apiUri现在存储的是“”而不是null。