C# 如何将数据从Web API重定向传输到html页面?
如何在由Web API重定向生成的新页面中拥有动态URLC# 如何将数据从Web API重定向传输到html页面?,c#,asp.net-mvc,asp.net-web-api,asp.net-web-api2,C#,Asp.net Mvc,Asp.net Web Api,Asp.net Web Api2,如何在由Web API重定向生成的新页面中拥有动态URL public HttpResponseMessage Get(string id) { var URL = "myurl"; System.Web.HttpContext.Current.Response.Redirect("mypage.html"); } <a href="{{myurl}}></a>
public HttpResponseMessage Get(string id)
{
var URL = "myurl";
System.Web.HttpContext.Current.Response.Redirect("mypage.html");
}
<a href="{{myurl}}></a> ?????????????????? </body> </html>
<a href="{{myurl}}></a> ?????????????????? </body> </html>
??????????????????
在重定向期间,不可能以这种方式获得生成的变量。您确定需要此重定向吗?我也有相同的想法,因此我尝试处理此问题,希望我的代码可以帮助您遵循一些方法
PS:一个控件处理不同的web api模型
public class ff1Controller :BaseController<travel>
{
public ff1Controller()
{
}
}
public class ff2Controller : BaseController<a1>
{
public ff2Controller()
{
}
}
公共类FF1控制器:BaseController
{
公共FF1控制器()
{
}
}
公共类FF2控制器:BaseController
{
公共ff2Controller()
{
}
}
这是另一种方法,希望我的方法能帮助你
private gigadeEntities1 db = new gigadeEntities1();
public IQueryable GetAll(string id)
{
switch(id)
{
case "travel":
return db.travel;
case "announce":
return db.announce;
}
return null;
}
我不知道你到底想做什么,但如果你想重定向到特定的Url,那么可以使用上述方法实现,但是如果你想从html中获取Url,那么你需要将Url作为请求参数传递,如下所示
[HttpGet]
public RedirectResult Get(string downloadURL)
{
string redUrl="http://www.y.com/l.htm?"+downloadURL:
return RedirectPermanent(redUrl);
}
从上面看,响应将被重定向到目标html页面,下载链接作为查询字符串,您可以通过从查询字符串中获取来设置html页面中的下载链接。如何实现?在get方法上,用户被重定向到一个有下载链接的页面,这个链接需要通过api传递。有更好的方法吗?你真的想重定向用户吗!?您在项目中使用MVC吗?然后你应该创建一个视图,它不是MVC。这是休息服务。移动设备使用此服务,然后重定向到一个有下载链接的页面。最佳解决方案?不确定这里发生了什么,但我看到该方法返回一个HttpResponseMessage,这意味着您可以返回302消息头(重定向)以及希望客户端重定向到的URL。此外,如果这是一个Ajax请求,那么它将不容易工作。您将需要在JavaScript中检测302并自己进行重定向。