javascript

git

java

python

git-remote

c++

github

django

c#

reactjs

generator

coroutine

spring-mvc

reflection

javascript-objects

html5

analytics

node.js

performance

branch-prediction

如何使用jquery或ajax为MVC项目在c#/ asp.net中更新razor部分视图

在MVC部分视图文件中,我构建了一个Html.TextBox和两个提交按钮。 单击这两个按钮将增加/减少Html.TextBox值。 Html.TextBox显示的值将相应地更改。但是,一旦我需要单击后根据新值更新#refTable div。 页面或部分从未更新。 下面是代码,其中添加了一些注释以用于说明。 谢谢你的帮助。

// ******* cshtml文件********** //

<body>
</body>

<input type="submit" value="PrevY" name="chgYr2" id="pY" />
@{
    var tempItem3 = Model.First(); // just give the first entry from a database, works.
    if (ViewData["curSel"] == null)
    {
    @Html.TextBox("yearSelect3", Convert.ToDateTime(tempItem3.Holiday_date).Year.ToString());  
    ViewBag.selYear = Convert.ToDateTime(tempItem3.Holiday_date).Year; // just initial value, works
    ViewData["curSel"] = Convert.ToDateTime(tempItem3.Holiday_date).Year;
    }
    else
    {
    @Html.TextBox("yearSelect3", ViewData["curSel"].ToString());
    } 
}
<input type="submit" value="NextY" name="chgYr2" id="nY" />


<script type="text/javascript">
    $(document).ready(function () {
        $(document).on("click", "#nY", function () {
            var val = $('#yearSelect3').val();
            $('#yearSelect3').val((val * 1) + 1);
            var dataToSend = {
                id: ((val * 1) + 1)
            }
            // add some jquery or ajax codes to update the #refTable div
            // also ViewBag.selYear need to be updated as ((val * 1) + 1)
            // like:   ViewBag.selYear = ((val * 1) + 1);
            // any similar temp variable is fine
        });

        });
        $(document).on("click", "#pY", function () {
            var val = $('#yearSelect3').val();
            $('#yearSelect3').val((val * 1) - 1);
            var dataToSend = {
                id: ((val * 1) - 1)
            }

        });
    });
</script>



<span style="float: right"><a href="/">Set Holiday Calender for 2013</a></span>
<span id="btnAddHoliday">@Html.ActionLink("Add Holiday", "Create", null, new { id = "addHilBtn" })</span>

<div id="refTable">
    <table class="tblHoliday" style="width: 100%;">
            <th>
                Holiday
            </th>
            <th>
                Dates
            </th>
            <th>Modify</th>
            <th>Delete</th>
        </tr>

        @foreach (var item in Model)
        {

            if (    Convert.ToDateTime(item.Holiday_date).Year == ViewBag.selYear)
            // if the ViewBag.selYear is hard code, this selection "works"
            {
            <tr>                
                <td>
                    @Html.DisplayFor(modelItem => item.Holiday_Name)
                </td>               
                <td>
                    @item.Holiday_date.Value.ToString("MM/dd/yyyy")
                </td>
                <td>
                    @Html.ActionLink("Edit", "Edit", new {  })
                </td>
                <td>
                    @Html.ActionLink("Delete", "Delete", new {  })
                </td>
            </tr>
            }
        }

    </table>
</div>
trans by 2020-08-11T09:38:01Z

asp.net mvc-找不到部分视图,或者没有视图引擎支持搜索到的位置

我有以下控制器代码:

public MyController:Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [ChildActionOnly]
    public ActionResult MyPartialViewAction()
    {
        return PartialView("~/Views/Shared/MyCustomFolder/_MyPartialView",PartialViewModel);
    }
}

我的索引视图具有以下代码:

@HTML.Action("MyPartialViewAction")

当我运行Web应用程序时,我得到带有InnerExceptionMessage的HttpException:

InnerException {“找不到部分视图'〜/ Views / Shared / MyCustomFolder / _MyPartialView',或者没有视图引擎支持搜索的位置。搜索了以下位置:\ r \ n ~~ / Views / Shared / MyCustomFolder / _MyPartialView” } System.Exception {System.InvalidOperationException}

到目前为止,我一直在尝试:

  • 尝试将@HTML.RenderAction()~/Views/Shared/MyCustomFolder移至~/Views/Shared/~/Views/MyControllerFolder,但仍然存在错误

  • 试图将我的索引视图代码更改为@HTML.RenderAction(),但是没有运气。

关于我要去哪儿的任何输入?

谢谢

trans by 2020-08-10T18:44:08Z

c#-ASP.NET MVC中禁用复选框的属性

我的ViewModel具有selected和selectable属性。 两者都是布尔值。 我希望我的视图有一个复选框,当selectable为true时启用,而selectable为false则禁用。 完成此工作的合适剃刀语法是什么?

我在表格中的项目列表上尝试了以下代码。 不管可选值如何,每行都会返回一个禁用的复选框。

 @Html.CheckBoxFor(modelItem => item.Selected, new { @disabled = !item.Selectable })
trans by 2020-08-09T04:34:31Z

我应该在哪里找到共享的@helper函数在MVC Raz中

我有一个辅助功能,可以将分钟变成小时/分钟。 我目前在我的layout.cshtml中有它,但是每个页面都看不到该功能。 我应该在哪里放置帮助程序功能,以便每个页面都能看到它?

@helper DisplayElapsedTime(int timeInMins){
    String timeStr = "";
    if (timeInMins >= 60) {
        int hours = timeInMins/60;
        timeInMins -= hours * 60;
        timeStr = hours + "h ";
    }
    if (timeInMins > 0){
        timeStr += timeInMins + "m";
    }
    @timeStr;
}
trans by 2020-08-06T06:01:01Z

CodeGo.net>如何使用带有Raz的MVC4设置javascript变量

有人可以格式化下面的代码,以便我可以使用剃刀使用c#代码设置脚本变量吗?

下面的方法不起作用,我已经做到了让某人容易地进行帮助。

@{int proID = 123; int nonProID = 456;}

<script type="text/javascript">
    @{

     <text>  

    var nonID =@nonProID;
    var proID= @proID;
    window.nonID = @nonProID;
    window.proID=@proID;

    </text>
}
</script>

我收到设计时间错误

enter image description here

trans by 2020-08-05T12:43:50Z

VS 2015 Razor Autocomplete / Intellisense下拉菜单在下拉后立即隐藏

在VS 2015中,仅在Razor(.cshtml)文件中时,大约有一半的时间自动完成/建议列表/智能提示无法正常工作(抱歉,不确定实际术语...当您键入对象并点击. 以及显示的属性和方法列表)

行为是当我点击.时,列表弹出一秒钟,然后关闭。 它发生得如此之快,因此我尝试快速执行一次29970689609710970970、.AccAccountCreateVM几次,以至少看到我需要的名称,但是我通常无法得到它,最终不得不从代码中的其他地方找到确切的名称。 极度刺激...

它偶尔会发生,我找不到真正的模式。 我已经排除了以下模式:

  • 打开的文件似乎无关紧要。
  • 我是否关闭/重新打开文件似乎无关紧要
  • 是否导航到另一个文件似乎并不重要
  • 在同一个文件中,它会多次打开/关闭而工作/不工作
  • 它似乎与任何特定的对象/属性/方法都不相关

我已经检查了所有选项(似乎没有Razor的“文本编辑”选项?),尝试清除缓存,重新加载解决方案/项目,重新启动VS,所有这些似乎仍然没有提供任何模式。

有谁遇到过这个问题,对我还能在其他地方解决这个问题有任何想法吗?

例这是一个非常简单的示例...新项目,很少的代码/文件,非常简单的视图。 Acc停止的地方,我应该具有常用的基本方法和“ Items”集合。 它突然弹出,然后消失...不涉及lambda /复杂视图解析(这也是可复制的):

enter image description here

更新:模式

我注意到的事情:

  • 如果要输入Acc,则很少发生在名称空间的“基本”端。 就在我进一步了解发生的类型时。 这是断断续续的。
  • 在某些情况下,它每次都运行良好。 例如,我经常使用DevExpress工具,却从未见过任何扩展的行为(因此Acc(以及其他类似的,不一定是DevEx的模型)永远不会引起问题)
  • 当我访问Acc(这是我最想要的地方!)时,几乎所有时间都会发生这种情况。 我发现有些情况下每次都可以重现(请参见上面的示例),但大约有90%+
  • 有时,当我遍历对象树时,一个将失败而下一个工作(例如:Acc ...它可能在AccountCreateVM上失败,但在Models上可以正常工作)
  • 有时,开始在自动完成功能中键入名称会使它重新投入使用并重新开始工作。 在上面的示例中,开始为AccountCreateVM输入Acc会使它再次开始工作。
trans by 2020-08-04T21:36:53Z

ASP.NET MVC 3(Razor)Ajax.ActionLink-我在做什么错?

尝试创建一个AJAX操作链接,该链接在单击时应将HttpGet做为一个操作方法,该方法返回PartialViewResult并将HTML推入div中。

这是我的观点:

<div id="admin-options" class="admin"></div>
@Ajax.ActionLink("Show Admin Options", "ShowOptions", "Post", new { area = "Admin" }, new AjaxOptions { UpdateTargetId = "admin-options", HttpMethod = "GET" })

这是操作方法:

public class PostController : Controller
{
   [HttpGet]
   [Authorize(Roles="Admin")]
   public PartialViewResult ShowOptions()
   {
      return PartialView();
   }
}

这是它生成的HTML:

<a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#admin-options" href="/Admin/Post/ShowOptions">Show Admin Options</a>

对我来说很好。

但是,它没有通过AJAX调用,而是通过浏览器URL进行了常规的HTTP GET,并重定向到/ Admin / Post / ShowOptions。

显然我错过了一些东西-但是呢?

trans by 2020-08-04T05:05:16Z

jQuery-如何根据Model值隐藏div元素? MVC

这是我目前所拥有的

 hidden="@(Model.IsOwnedByUser||!Model.CanEdit)"

在Chrome上运行正常,但无法在Internet Explorer上隐藏

我也尝试将可见性设置为假,但没有运气。

然后我发现了另一种风格如下

style="@(Model.IsOwnedByUser||!Model.CanEdit)?'display:none'""

我无法使它工作。 用Razor语法隐藏元素的正确格式是什么?

或者我会使用Jquery隐藏元素。 但是实际上是否可以打印出会在页面加载时隐藏元素的jquery语句?

trans by 2020-08-03T16:07:25Z

CodeGo.net>在没有MVC的情况下使用Razor

可能重复:
是否可以在asp.net之外使用Razor View Engine

我需要将模板与数据合并以在运行时创建唯一的字符串。 建议我查看ASP.NET MVC 3附带的Razor模板视图引擎。看起来不错,但是我需要在MVC视图创建之外使用它。

我知道我可以直接使用核心Razor引擎,但是我还发现了一些项目,这些项目使直接使用Razor更加容易。 喜欢:

  1. Rick Strahl的Razor托管模板发动机-[http://www.west-wind.com/weblog/posts/864461.aspx]
  2. GitHub上的Razor Engine-[https://github.com/Antaris/RazorEngine]

在MVC之外将Razor用作独立模板引擎的人是否有任何指导? 这些包装项目有经验吗? 我应该研究其他Razor托管实施吗?

trans by 2020-08-01T21:36:29Z

asp.net mvc 3-在局部视图中修改MVC 3 ViewBag不会保留到_Layout.cshtml

我在Razor视图引擎中使用了MVC 3。 我想在局部视图的ViewBag中设置一些值,并想在_Layout.cshtml中检索这些值。 例如,当您设置默认的ASP.NET MVC 3项目时,会在“ / Views / Shared”文件夹中获得_Layout.cshtml文件。 在_Layout.cshtml中,页面标题设置如下:

<title>@ViewBag.PageTitle</title>

然后在“ /Views/Home/About.cshtml”视图中,修改ViewBag的内容:

@{
    ViewBag.Title = "About Us";
}

这很好。 呈现“关于”视图时,页面标题为“关于我们”。 因此,现在我想在About视图中渲染一个Partial视图,并在Partial视图中修改ViewBag.Title。 (“ /Views/Shared/SomePartial.cshtml”)

@Html.Partial("SomePartial")

在此部分视图中,我有以下代码:

@{
    ViewBag.Title = "About Us From The Partial View";
}

当我调试此代码时,我看到ViewBag.Title设置为“关于我们”,然后在部分视图中看到它被重置为“关于我们从部分视图”,但是当代码到达_Layout.cshtml时,它将 回到“关于我们”。

这是否意味着如果在部分视图中修改了ViewBag的内容,这些更改将不会出现(可访问)在主视图(About.cshtml)或_Layout.cshtml中?

提前致谢!

trans by 2020-08-01T14:59:35Z

asp.net mvc-将@ Html.DisplayNameFor()与PagedLis结合使用

我一直在尝试PagedList包来获取索引视图的分页。 一切进展顺利,在控制器级别上一切正常,每页仅显示5条记录,并根据查询字符串显示适当的页面。

我的问题在视图中。 我将@Model更改为PagedList.IPagedList<Dossier.Models.Item>' does not contain a definition for 'ItemName' and no extension method 'ItemName' accepting a first argument of type 'PagedList.IPagedList<Dossier.Models.Item>' could be found (are you missing a using directive or an assembly reference?),以便可以访问Model.HasNextPage和其他属性,但是现在@Html.DisplayNameFor(model => model.ItemName)不再起作用。 我收到此错误:

PagedList.IPagedList<Dossier.Models.Item>' does not contain a definition for 'ItemName' and no extension method 'ItemName' accepting a first argument of type 'PagedList.IPagedList<Dossier.Models.Item>' could be found (are you missing a using directive or an assembly reference?)

这是该视图的相关部分:

@model PagedList.IPagedList<Dossier.Models.Item>
@using Dossier.Models.Item

...

<th>
    @Html.DisplayNameFor(model => model.ItemName)
</th>

似乎IPagedList与DisplayNameFor()不兼容。 知道为什么会发生这种情况以及如何解决吗? 我知道我可以手动输入列名,但是我希望以后将该信息保留在模型中(并可以更改)。

trans by 2020-07-31T18:24:23Z

c#-从raz获取控制器名称

我似乎很难得到应该容易的东西。 从我的角度来看,我想使用Razor获取当前控制器的名称。 例如,如果我在这里:

http://www.example.com/MyController/Index

如何从Razor表达式中获取控制器名称MyController

@* Obviously this next line doesn't work
    @Controller.Name
*@

我是MVC的新手,因此,如果这是一个显而易见的答案,请不要攻击我。

trans by 2020-07-29T22:31:45Z

asp.net mvc 3-访问帮助中的全局页面变量

@{
    int i = 0;
}

@helper Text() {
    <input type="text" name="Ans[@i].Text" />
}

在助手中无法访问i。 如何访问?

trans by 2020-07-28T14:39:48Z

asp.net mvc 3-在jquery.dialog中加载部分视图

我对mvc完全陌生,并尝试创建一个虚拟应用程序来学习mvc 3。我已经通过音乐商店示例进行了尝试,现在我试图将其稍微扩展到更真实的应用程序中。在该示例中,每当您想要任何新项目时,都可以重定向到“创建”视图,这很好,但是我想要代替进行整页的发帖,而是要使用jquery.dialog打开一个模式弹出窗口,该弹出窗口将允许用户 插入一个新项目。

到目前为止,我有

  <script type="text/javascript">

    $(function () {

        $('#dialog').dialog({
            autoOpen: false,
            width: 400,
            resizable: false,
            title: "hi there",
            modal: true,
            buttons: {
                "Close": function () {
                    $(this).dialog("close");
                }
            }
        });
        $('#my-button').click(function () {
        $('#dialog').dialog('open');
        });}); </script>

     <div id="dialog" title="Create Album" style="overflow: hidden;">
    @Html.Partial("_CreateAlbumPartial")</div>

问题是每次都不通过ajax加载局部视图,我真的不知道应该将局部视图放在哪里。 应该在共享位置还是在其他视图的文件夹中?如何更新控制器类以适应局部视图?

对不起,如果这些很容易做到,请在3天之内放入mvc :)

trans by 2020-07-22T17:26:56Z

asp.net mvc-命名约定以区分局部视图和普通视图

是否有针对部分视图的非官方标准命名约定? 我见过有人建议以“ _”作为前缀,其他人以“ Partial”作为后缀,我知道这个问题是主观的,但是由于没有官方指南,我想知道这里大多数人用来命名他们的局部视图 。 也许投票最多的答案将成为标准。

更新:我使用带有Razor作为视图引擎的ASP.NET MVC 3,在以前的版本中,您不需要约定,因为您具有.ascx扩展名

trans by 2020-07-20T09:53:40Z

剃刀-是否有可能在ASP.NET MVC 3中显示来自数据库的原始HTML?

我在数据库中有一个表,其中一个属性是一个Html页面(没有html,head和body标签),我打算将其放在我的一个视图的中间-例如,我调用一个cotroller方法, 接受一个参数,并返回一个传递此html大字符串作为模型的视图。 我进行了搜索(我承认不多),发现以下方法:

<%= System.Web.HttpUtility.HtmlDecode(yourEncodedHtmlFromYouDatabase) %>

这是在stackoverflow中找到的。 当我尝试类似的剃刀方法时,我最终得到了这样的结果:

@System.Web.HttpUtility.HtmlDecode("<h1>Test</h1>")

那是个主意,但是它并没有按照我的计划工作。

trans by 2020-07-19T00:33:08Z

regex-ASP.NET MVC 4中的DataAnnotations验证(正则表达式)-razor vi

在正则表达式中使用特殊字符时,DataAnnotations验证器在asp.net mvc 4剃刀视图中不起作用。

模型:

[StringLength(100)]
[Display(Description = "First Name")]
[RegularExpression("^([a-zA-Z0-9 .&'-]+)$", ErrorMessage = "Invalid First Name")]
public string FirstName { get; set; }

剃刀视图:

@Html.TextBoxFor(model => Model.FirstName, new { })
@Html.ValidationMessageFor(model => Model.FirstName)

不打扰的验证在视图中呈现为:

<input type="text" value="" tabindex="1" style="height:auto;" name="FirstName" maxlength="100" id="FirstName" data-val-regex-pattern="^([a-zA-Z0-9 .&amp;amp;&amp;#39;-]+)$" data-val-regex="Invalid First Name" data-val-length-max="100" data-val-length="The field FirstName must be a string with a maximum length of 100." data-val="true" class="textfield ui-input-text ui-body-d ui-corner-all ui-shadow-inset valid">

上面html中的正则表达式模式未按模型的RegularExpression中的指定进行呈现,即使输入有效数据,也会导致错误(Sam's)。

我该如何处理?

-更新-

我已经按照@Rick建议更新了代码

[StringLength(100)]
[Display(Description = "First Name")]
[RegularExpression("([a-zA-Z0-9 .&'-]+)", ErrorMessage = "Enter only alphabets and numbers of First Name")]
public string FirstName { get; set; }

查看源显示以下内容:

<input data-val="true" data-val-length="The field FirstName must be a string with a maximum length of 100." data-val-length-max="100" data-val-regex="Enter only alphabets and numbers of First Name" data-val-regex-pattern="([a-zA-Z0-9 .&amp;amp;&amp;#39;-]+)" id="FirstName" maxlength="100" name="FirstName" type="text" value="" />

我仍然有同样的问题。

trans by 2020-07-18T10:42:06Z

c#-ASP.NET MVC Raz中新的空条件运算符

因此,自从C#6.0发布以来,我就一直在使用null条件运算符。 例:

Model?.Person?.Zip

但是,现在我遇到的情况是,我有一个解决方案,即客户在视图中对域模型进行操作。 尽管我会用斧头追捕开发人员,但我发现在视图中进行一些空检查更为容易。

但是,当我在Razor中进行以下操作时:

@Model?.Person?.Zip

我的Model?被视为动态的,但?破坏了动态的东西,其余部分则呈现为文本。

您如何解决呢?

trans by 2020-07-14T11:01:58Z

asp.net mvc 3-如何在.NET MVC3应用程序中检测移动浏览器

我正在开发.NET MVC3应用程序。

有没有一种很好的方法来检测用户是否在视图中使用了移动浏览器(使用RAZOR)。如果要使用移动浏览器,我想改变显示逻辑。

谢谢!

trans by 2020-07-13T18:33:01Z

html-pag顶部的空白

我的页面顶部有大约20像素的空白。 我检查了每个元素,在此区域中没有填充或空白。 当我检查身体元素时,它不包含该空间。 当我检查html元素时是否包含此空间。 另外,如果我删除

<!DOCTYPE html>

白色空间消失了。

这是我的主要布局

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Title</title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta name="viewport" content="width=device-width" />
    @RenderSection("Css", false)
</head>

<body>
    @RenderSection("JavaScript", false)
</body>
</html>
trans by 2020-07-12T00:12:00Z

1 2 3 4 5 6 7 8 9 10 下一页 共10页