gpt4 book ai didi

c# - ASP.net 中的个人资料 URL

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:31 25 4
gpt4 key购买 nike

我正在 ASP.net 中创建一个应用程序,其中每个用户都有自己的配置文件,可以与他人共享。

他们个人资料的默认地址是:

www.domain.com/User/Profile/[UserID]

当他们指定一个虚 URL 时,有人可以输入

www.domain.com/User/Profile/[Vanity]

并被定向到同一页面。配置文件页面仅使用一个函数,在 Controller 中使用以下函数接收 UserID:

    public ActionResult Profile(int id)
{
ppUser viewerChoice = DB.User_GetUserByPersonID(id);

return View(viewerChoice);
}

但是,当我添加另一个接受字符串的时候

    public ActionResult Profile(string vanity)
{
ppUser viewerChoice = DB.User_GetUserByVanity(vanity);

return View(viewerChoice);
}

这会导致 AmbiguousMatch 异常。我将如何确保它调用正确的函数?

最佳答案

您的选择不多。

  • 您只能捕获字符串参数并读取它,如果它是一个数字,则将其转换为 int。
  • 您可以配置 2 个单独的路由,并使用正则表达式识别参数并进行相应处理
  • 对 int 和字符串参数使用单独的操作。

我会非常小心地处理您的方法(相同的操作,不同的参数),因为存在用户为虚 URL 选择 int(与用户 ID 相同的格式)的风险。您将如何解决此类冲突?

关于c# - ASP.net 中的个人资料 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10834761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com