小编Ral*_*lle的帖子

如何将现有的asp.net应用程序迁移到asp.net MVC模式格式

我想将现有的ASP.NET应用程序迁移到ASP.NET MVC模式格式.我应该遵循什么程序?任何分步说明都会非常有用.

asp.net-mvc webforms migrate

38
推荐指数
2
解决办法
2万
查看次数

如何使用回调函数在TypeScript中保留词法范围

我有一个TypeScript类,有一个我打算用作回调的函数:

removeRow(_this:MyClass): void {
    ...
    // 'this' is now the window object
    // I must use '_this' to get the class itself
    ...
}
Run Code Online (Sandbox Code Playgroud)

我将它传递给另一个函数

this.deleteRow(this.removeRow);
Run Code Online (Sandbox Code Playgroud)

反过来调用jQuery Ajax方法,如果成功,则调用这样的回调:

deleteItem(removeRowCallback: (_this:MyClass) => void ): void {
    $.ajax(action, {
        data: { "id": id },
        type: "POST"
    })
    .done(() => {
        removeRowCallback(this);
    })
    .fail(() => {
        alert("There was an error!");
    });
}
Run Code Online (Sandbox Code Playgroud)

我可以保留我的类的'this'引用的唯一方法是将其传递给回调,如上所示.它有效,但它是裤子代码.如果我没有像这样连接'this'(抱歉),那么回调方法中对此的任何引用都已恢复为Window对象.因为我一直在使用箭头函数,所以我期望'this'将是类本身,因为它在我班级的其他地方.

任何人都知道如何在TypeScript中传递回调,保留词法范围?

javascript callback typescript

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

如何在MVC3/4中为Html.BeginForm()添加一个类属性,保留最小的重载

我正在将我的应用程序升级到Bootstrap 2.1.1,我需要为许多表单标记添加一个类属性(class ="form-horizo​​ntal").问题是,大多数形式使用相当漂亮

@using (Html.BeginForm()) {
Run Code Online (Sandbox Code Playgroud)

我宁愿保留的格式.获取class属性的明显方法是使用以下重载,例如:

@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @class = "form-horizontal" })) {
Run Code Online (Sandbox Code Playgroud)

但我宁愿不这样做.向表单添加类属性的最佳方法是什么?

我已经考虑过将.addClass("form-horizo​​ntal")的jQuery文档就绪处理程序用于表单,但我担心用户会看到可怕的'无格式内容的闪存'.

另一种方法可能是使用less -style mix-in,将.form-horizo​​ntal类添加到所有表单样式规则中,但我还没有少用,所以我不确定这个.

有谁知道解决这个问题的最佳方法?

css3 asp.net-mvc-3 twitter-bootstrap

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

"Get"方法名称是否应包含参数名称?

如果以前曾经问过这个,并且很难想象它没有,但它没有明显的关键字关联,所以很难检查.

如果我有一对夫妇的标准方法,如C#类GetByCode(string code)GetByCodeAndResourceType(string code, string resourceType),我应该只是将其重命名为超载Get(...),因为它们是由参数列表区分?

显然,可能存在这样的情况:可能需要相同的方法签名用于不同的目的,但除了我不能看到需要单独的方法名称,只要有智能感知的评论.

我很想知道有谁认为是利弊.

c# object

6
推荐指数
1
解决办法
231
查看次数

如何在团队中共享ReSharper单元测试会话?

我在Visual Studio 2010/2012中的ReSharper 7中设置了两个永久测试会话 - "传递"和"失败".我每天运行Passing会话,并且可以快速识别自上次以来的任何回归失败,在这种情况下我将这些测试移动到Failing,在那里我可以在我有时间的时候处理它.它的工作原理很棒.

问题是我无法找到任何方法将这些会话导出为"解决方案团队共享"选项,正如ReSharper文档中针对您可能希望在团队中共享的设置所建议的那样.显然,能够在相同的测试会话结构的时间内使用其他人是有益的.但是当我改变我的会话时,它似乎只会更新'PatientPortal.sln.DotSettings.user'文件,而不是'PatientPortal.sln.DotSettings'文件.

在RESHARPER - >选项 - >单元测试中,我检查了"保存并恢复单元测试会话"并选择了"保存到" - "解决方案[名称]团队共享"

由于我遇到的困难,我怀疑ReSharper单元测试会话不是为你办理登机手续并分享的,但我觉得在这种情况下这样做很有成效,所以有人都知道怎么做这个?

resharper unit-testing visual-studio

6
推荐指数
2
解决办法
2142
查看次数

为什么在调用Asp.Net ListBox autopostback方法时会调用无关(autopostback)方法?

我确信这很简单,但它让我疯了.

我的页面上有一个ListBox来显示艺术家,它们在索引被更改时调用一个方法,还有一个按钮,用于在单击时从另一个页面中加载该列表中的艺术家:

<asp:ListBox ID="lbArtists" runat="server" Rows="1" AutoPostBack="true" OnSelectedIndexChanged="ShowArtistsWorks" />

<asp:Button ID="btnEditArtist" runat="server" Text="Edit the artist" OnClick="LoadArtist" />
Run Code Online (Sandbox Code Playgroud)

接下来,我有一个类似的链接列表,它也有一个autopostback方法:

<asp:ListBox ID="lbLinks" runat="server" Rows="1" AutoPostBack="true" OnSelectedIndexChanged="LoadLink" />
Run Code Online (Sandbox Code Playgroud)

问题是,当我ShowArtistsWorks()通过单击调用时btnEditArtist,该LoadLink()方法也会被调用.为什么会这样?当我没有更改lbLinksListBox 上的索引时,为什么会调用它?它不应该接近那种方法.

编辑:(相关)代码隐藏方法(

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack){
        GetArtists(); // populates artists listbox
        GetLinks(); // populates links listbox
    }
}

protected void LoadArtist(object sender, EventArgs e){
    if (lbArtists.SelectedValue != "")
        Response.Redirect("Artist.aspx?id=" + lbArtists.SelectedValue);
}

protected void LoadLink(object sender, EventArgs e)
{
    if …
Run Code Online (Sandbox Code Playgroud)

asp.net c#-3.0

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

在MVC4中,如何在Razor文件中创建脚本包

我正在设置我的MVC4应用程序以使用内置的ASP.Net捆绑(从Squishit转换).我已经设置了BundleConfig类,并且一切正常,但是对于Razor文件只引用一个JavaScript文件的情况,我认为不需要涉及该配置文件.我宁愿在Razor'Scripts'部分中将脚本添加到BundleTable,然后在那里渲染它.这样,如果我不得不改变BundleConfig文件,我可以很容易地进行小的更改.这就是我所拥有的:

@section Scripts
{
    @{   
        const string bundle = "~/bundles/{myVirtualBundlePath}";
        BundleTable.Bundles.Add(new ScriptBundle(bundle)
            .Include("{myActualJavaScriptFilePath}"));
        Scripts.Render(bundle);
    }
}
Run Code Online (Sandbox Code Playgroud)

虽然这构建正常,但对该捆绑文件的引用永远不会输出到HTML.

我是否需要获取BundleConfig使用的特定BundleCollection的引用?

javascript bundle asp.net-mvc-4

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

为什么 JavaScript 的 string.split() 在某些情况下不能正常工作?

我需要将一串文本拆分为其组成词,因此我使用正则表达式将其拆分为空格(在 Typescript 文件中,顺便说一句)。

splitIntoWords(text: string) : Array<string> {
    const separator = ' ';
    const words = text.split(new RegExp(separator, 'g'));
    return words;
}
Run Code Online (Sandbox Code Playgroud)

这主要是有效的,但我注意到我经常在数组中得到仍然包含空格的单词。如果我将文本复制到 Chrome 控制台并 split(' ') 它我得到正确数量的单词,但是当我使用变量时(即使在控制台中)它在某些情况下总是会失败。我无法弄清楚有什么区别。这是我的文字示例:

"Le coronavirus en France : la décrue se poursuit en réanimation, la reprise économique au cœur des préoccupations. La mise en œuvre du plan de déconfinement élaboré par le gouvernement doit encore faire l’objet, jeudi, d’un « travail de concertation et d’adaptation aux réalités de terrain » avec les responsables et les …
Run Code Online (Sandbox Code Playgroud)

javascript string typescript

0
推荐指数
1
解决办法
175
查看次数