我正在开发一个像twitter这样的应用程序。 那么如何才能完成诸如
之类的网址twitter.com/username
这将打开与用户名相关的个人资料。
我正在使用asp.net创建。
谢谢
答案 0 :(得分:0)
如果您打算使用MVC Razor,它就像将查询字符串参数传递给您的页面一样简单。例如:
public ActionResult Index(string name)
{
//Get user information and pass to view
User userDetails = SomeLogic.GetUser(name);
return View(userDetails);
}
或者,如果使用ASP.NET Web窗体,则必须通过添加Nuget包来使用友好URL。可以在此处找到教程:http://blogs.technet.com/b/southasiamvp/archive/2014/03/31/guest-post-exploring-asp-net-friendlyurls.aspx
在宏观方案中,您需要做的就是将查询字符串参数传递给您的页面。使用友好的URL可以帮助您完成所需的URL格式。
从您的评论中,我看到您正在使用Web窗体,因此我将修改获取查询字符串值的答案。下面的代码不会以友好的格式呈现URL,但我希望您能够根据我上面提供的链接修改示例。
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["name"] != null && !String.IsNullOrEmpty(Request.QueryString["name"].ToString())
{
string myNameValue = Request.QueryString["name"].ToString();
//Since you have the name in the querystring, pass value to method that retrieves the record
User userDetails = SomeLogic.GetUser(name);
}
}
因此,网址为:profile.com/profile.aspx?name = John。
但正如我所说,您需要修改代码以更改示例以使用友情网址,这可以在本教程中找到:http://blogs.technet.com/b/southasiamvp/archive/2014/03/31/guest-post-exploring-asp-net-friendlyurls.aspx