c# - 在 mvc 上获取站点 url

标签 c# asp.net-mvc

我想编写一个返回站点 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/

相关文章:

c# - File.Delete() 循环不时挂起

C# 使用冒泡排序对 3 个数组进行排序

c# - 如何使用反射通过其属性值之一获取属性名称或如何获取当前正在验证的数据属性的属性信息?

javascript - spine 路由(spine js mvc)如何工作?

c# - Silverlight 3 中的 TreeView 选择问题

c# - LINQ 选择具有不同 ForeignKeyId 列的最新记录

c# - IronPython 导入异常 : No module named logging

javascript - Bootstrap Datetimepicker 不在文本字段中显示日期

asp.net-mvc - MVC 帖子未填充模型

c# - 当涉及不同模型时,如何将主视图和部分 View 值传递给 Controller ​​?