MVC5 URL不匹配适用于localhost但不适用于远程计算机

时间:2016-12-03 10:11:18

标签: javascript asp.net-mvc iis ip localhost

我在IIS上部署了一个MVC Web应用程序。当我点击运行时(F5),VisualStudio可以正常工作。 Url看起来像

主页: localhost:8080/

输入数据和登录按钮时显示的第二页[只是一个简单的表格] - >本地主机:8080 /数据/查询/ FNAME =马库斯&安培; L-NAME =詹宁斯

那是视觉工作室。视图完美呈现,事物按预期工作。

现在,当我通过手动输入" localhost"从我的浏览器访问webapp时场景是这样的:

主页:

localhost/website

第二页:

localhost/website/Data/Query/?fname=Markus&lname=Jennings

正如您所见,网站字/目录始终存在。我的申请发表在里面 C:\ inetpub \ wwwroot \ website所以,我有点理解为什么网站上有这个词。 数据是我的控制器,查询是我的操作方法。

现在是棘手的部分:

当我尝试使用相同的机器但使用不同的网址(即我的IP号码)访问我的网站时,会发生以下情况

a.b.c.d/patinput 主页已呈现。 输入数据并登录后,显示的URL为:

a.b.c.d/Data/Query/?fname=Markus&lname=Jennings

你可能已经猜到了#34;网站" URL中不存在目录。据我说它应该看起来像

a.b.c.d/website/Data/Query/?fname=Markus&lname=Jennings

如果我手动添加网站路径/单词,则会根据需要呈现第二页。

第一页是一个简单的登录表单,我将名字和姓氏作为输入并调用javascript函数。在Javascript函数中,我使用从HTML页面检索的参数调用我的Controller(数据)。

我正在使用的javascript函数

window.location.href = '/Data/Query/?fname=' + fname + '&lname=' + lname;

我尝试过添加'。'之前/数据/查询.....还没有工作。

谢谢!

1 个答案:

答案 0 :(得分:2)

我通过解决方法解决了这个问题。看起来像这样。 在我的javascript中,我在第一次点击时保存了window.location.href值。使用localStorage作为

localStorage.setItem(“baseUrl”,window.location.href);

每当我想导航到其他一些Actionresult时,我只需使用此baseUrl附加它