我想编写一个返回站点 url 的小辅助函数。 来自 PHP 和 Codeigniter,我很沮丧,因为我不能让它按照我想要的方式工作。
这是我正在尝试的:
@{
var urlHelper = new UrlHelper(Html.ViewContext.RequestContext);
var baseurl = urlHelper.Content("~");
}
<script>
function base_url(url) {
url = url || "";
return '@baseurl' + url;
}
</script>
我想返回我的应用程序的基本 url,这样我就可以进行 ajax 调用而不必担心路径。以下是我打算如何使用它:
// Development
base_url(); // http://localhost:50024
// Production
base_url("Custom/Path"); // http://site.com/Custom/Path
我怎样才能做这样的事情?
编辑
我想要绝对路径,因为我有抽象的 js 对象来进行 ajax 调用。 所以假设我有:
function MyController() {
// ... js code
return $resource('../MyController/:id');
}
// then
var my_ctrl = MyController();
my_ctrl.id = 1;
my_ctrl.get(); // GET: ../MyController/1
这在我的路由是 http://localhost:8080/MyController/Edit
时有效,但在 http://localhost:8080/MyController
时会失败。
最佳答案
我设法做到了:
@{
var url = Request.Url;
var baseurl = url.GetLeftPart(UriPartial.Authority);
}
谢谢大家!
关于c# - 在 mvc 上获取站点 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12789904/