相关疑难解决方法(0)

ASP.NET MVC 3 Razor:在头标记中包含JavaScript文件

我正在尝试找出正确的Razor语法,以便将特定*.cshtml的JavaScript文件与_Layout.cshtml中定义的所有其他包含文件一起放在head标记中.

javascript asp.net-mvc include razor asp.net-mvc-3

226
推荐指数
1
解决办法
15万
查看次数

如何在使用Layout时在View中添加脚本src

我想要包含一个javascript引用,如:

<script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

如果我有一个Razor View,那么在不必将它添加到Layout的情况下包含它的正确方法是什么(我只需要在一个特定的View中,而不是所有的都需要它)

在aspx中,我们可以使用内容占位符..我发现在mvc中使用aspx而不是Razor视图的旧示例..

asp.net-mvc razor

89
推荐指数
3
解决办法
16万
查看次数

在MVC布局视图中加载jQuery的正确位置

我使用默认模板创建了一个MVC 4,@Script.Render(~"bundles/jquery")后面会调用它@RenderBody().根据这篇文章,这是推荐的执行顺序,以防止加载脚本来阻止页面的呈现.

我想在我的视图或我的RenderBody()部分中添加一个小的jQuery调用.看起来像这样,在我的观点的顶部:

<script type="text/javascript">
$(document).ready(function()
{
    $("#eta_table").tablesorter({
        headers: {
            0: { sorter: false }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

但是,这将始终抛出错误,Error: '$' is undefined因为jQuery直到之后才加载RenderBody().

我无法想象这是一个新问题,它似乎是一个相当普遍的任务......有关如何处理这个问题的任何建议?

作为参考,这里是加载jQuery的地方:

        @Scripts.Render("~/bundles/jquery")
    @RenderSection("scripts", required: false)
</body>
Run Code Online (Sandbox Code Playgroud)

编辑

我最终将上面的脚本移动到我的scripts.js文件中,并将其加载到布局页面中的jQuery下面,如下所示:

            bundles.Add(new ScriptBundle("~/bundles/custom").Include(
                    "~/Scripts/Custom/tablesorter.js",
                    "~/Scripts/Custom/scripts.js"));
Run Code Online (Sandbox Code Playgroud)

和HTML:

        @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/custom")
    @RenderSection("scripts", required: false)
</body>
Run Code Online (Sandbox Code Playgroud)

除此之外似乎仍然是错误的,因为现在必须为使用主布局视图的每个页面加载脚本.它有效,但是,这是最好的方法吗?

asp.net-mvc jquery

37
推荐指数
1
解决办法
5万
查看次数

ASP.NET MVC中的Razor页面生命周期

我一般关于渲染管道的问题,我看过ASP.NET MVC管道方案,还有一个名为View Engine的步骤,它是如何工作的?我想知道这种情况:

  • 什么是首先渲染,母版页或视图?
  • 如果我Response.End()@{}页面开头的块中使用这个中断执行页面并停止渲染视图?

asp.net-mvc pipeline razor asp.net-mvc-3

9
推荐指数
1
解决办法
6296
查看次数

这个html帮助程序线程安全吗?

我想知道在此链接上引用的代码是否是线程安全的.我的意思是不适用于多线程.我只是不希望输出交叉用户页面请求.
从视图或部分视图添加CSS或JavaScript文件到布局头

我是否会遇到对页面的许多请求可能跨越样式和脚本的情况.

如果你对MVC有所了解,那么在渲染视图并将结果呈现给布局(母版页)时调用add方法可能会有所帮助.

当前解决方案(如果需要改进,请告诉我)

public static MyCompanyHtmlHelpers GetInstance(HtmlHelper htmlHelper)
{
    MyCompanyHtmlHelpers _instance;
    if (htmlHelper.ViewData["SectionHelper"] == null)
    {
        _instance = new MyCompanyHtmlHelpers();
        htmlHelper.ViewData["SectionHelper"] = _instance;
    }
    else
        _instance = htmlHelper.ViewData["SectionHelper"] as MyCompanyHtmlHelpers;

    _instance.SetHtmlHelper(htmlHelper);

    return _instance;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

c# thread-safety asp.net-mvc-3

8
推荐指数
1
解决办法
1422
查看次数

尝试从部分视图中将JS和CSS添加到MVC 3 Razor网站中的布局文件中

我目前正在使用类似于以下代码的方法将脚本和css文件添加到布局文件的头部.

public static class HtmlHelperExtensions
{
    public static MyCompanyHtmlHelpers MyCompany(this HtmlHelper htmlHelper)
    {
        return MyCompanyHtmlHelpers.GetInstance(htmlHelper);
    }    
}

public class MyCompanyHtmlHelpers
{
    private static MyCompanyHtmlHelpers _instance;

    public static MyCompanyHtmlHelpers GetInstance(HtmlHelper htmlHelper)
    {
        if (_instance == null)
            _instance = new MyCompanyHtmlHelpers();

        _instance.SetHtmlHelper(htmlHelper);

        return _instance;
    }

    private HtmlHelper _htmlHelper;

    public ItemRegistrar Styles { get; private set; }
    public ItemRegistrar Scripts { get; private set; }

    public MyCompanyHtmlHelpers()
    {
        Styles = new ItemRegistrar(ItemRegistrarFromatters.StyleFormat);
        Scripts = new ItemRegistrar(ItemRegistrarFromatters.ScriptFormat);
    }

    private void SetHtmlHelper(HtmlHelper htmlHelper)
    {
        _htmlHelper …
Run Code Online (Sandbox Code Playgroud)

c# asp.net razor asp.net-mvc-3

7
推荐指数
1
解决办法
8786
查看次数

在MVC中添加脚本

我从第一个MVC应用程序开始.在这里,我有基本的困惑.实际上,默认的_Layout.cshtml文件创建如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

</head>
<body>
    <script>

    </script>
    @RenderBody()

    @Scripts.Render("~/bundles/jquery")
    @RenderSection("scripts", required: false)
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我使用了基本模板,因此没有任何模板.但请检查'@ Scripts.Render("〜/ bundles/jquery")'行.它在@RenderBody()之后.所以它实际上是在身体部分之后添加的.

我认为这实际上是最好的做法.但如果我添加$.(文档).ready它会显示以下错误

Microsoft JScript运行时错误:'$'未定义

基于错误,它因脚本标记而异.我刚刚在@Render身体和最后一页之前移动了@@ Scripts.Render("〜/ bundles/jquery")'行

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @Scripts.Render("~/bundles/jquery")

</head>
<body>
    <script>

    </script>
    @RenderBody()      
    @RenderSection("scripts", required: false)
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

applicationw适用于我的jquery.

那么为什么会这样呢?所以在@RenderBody之前总是需要添加标签的脚本吗?那为什么默认模板显示在错误的位置?

asp.net-mvc jquery asp.net-mvc-4

7
推荐指数
1
解决办法
1万
查看次数

MVC3 Razor - 将JavaScript和CSS文件添加到文档头

我以前用过这个,但我忘记了方法的名称.我猜它必须是MVC3/Razor独有的.是否有一种方法允许您包含JavaScript或CSS文件,然后指定它应该在头部.我记得它是两种类似于以下的不同方法

IncludeJS("my.js").AtHead();
IncludeCSS("my.css").AtHead();
Run Code Online (Sandbox Code Playgroud)

他们可能是HTML助手,但我无法在任何地方找到任何引用.我疯了吗?

javascript css include razor asp.net-mvc-3

5
推荐指数
1
解决办法
1万
查看次数

Web服务Http身份验证 - Android上的KSOAP2

我一直在网上搜索一段时间,但无法为我的问题找到合适的解决方案.这篇文章也没有真正帮助,因为在ksoap2 for android中使用的类和方法不存在:使用KSOAP for android的基本HTTP身份验证

我正在尝试访问我在sap soa管理器中设置的SAP Web服务.Web服务需要http头中的基本身份验证.通过soapUI访问此Web服务不是问题,因为可以在那里设置http身份验证.

我的问题:我想使用Android设备访问Web服务,我想使用KSOAP2 for Android,因为我已经有了一些使用该库的经验.我的问题是我不知道如何对webservice进行身份验证?

有没有人有类似的问题,知道如何解决它?如果你能帮助我,我将不胜感激!

authentication android web-services http-headers android-ksoap2

4
推荐指数
1
解决办法
9695
查看次数