小编Ami*_*rzi的帖子

VB.NET中MVC3 ViewBag的后期绑定问题

我正在尝试在VB.NET MVC3项目中使用MVC Scaffolding并遇到一个问题,后期绑定与Option Strict设置(我想要它).

这适用于C#:

public ActionResult Create()
{
    ViewBag.PossibleTeams = context.Teams;
    return View();
}
Run Code Online (Sandbox Code Playgroud)

但VB.NET中的代码几乎相同:

Public Function Create() As ActionResult
    ViewBag.PossibleTeams = context.Teams
    Return View()
End Function
Run Code Online (Sandbox Code Playgroud)

导致编译器错误Option Strict On禁止后期绑定.我看了一下这里的文档:http://msdn.microsoft.com/en-us/library/system.web.mvc.controllerbase.viewbag(VS.98).aspx但它不是很有帮助.

我注意到,在C#中的新的空应用程序使用ViewBag的HomeController,但VB.NET版本使用ViewData,所以也许这是一个VB.NET的限制.

vb.net viewbag asp.net-mvc-3

10
推荐指数
1
解决办法
4396
查看次数

使用AJAX时,ASP.NET MVC页面未更新

我有一个ASP.NET MVC项目,我想在文章中发布一篇文章然后在页面上显示该文章的片段.当用户注释时,我还想在保存到数据库后显示注释.我在这两种情况下使用AJAX和调用OnFailure和OnSuccess方法.

OnFailure保存帖子而不是注释时,该方法仅会启动(这是因为即使成功保存,页面也不会更新).OnSuccess根本没有调用该方法,因为我的页面没有更新.

我正在使用jquery 2.1.4并在我的项目中加载了jquery.unobtrusive-ajax脚本

这是我的代码.

//查看用于创建帖子

 @using (Ajax.BeginForm("Create", "Post",
new AjaxOptions
{
    HttpMethod = "POST",
    UpdateTargetId = "insertnewpostbelow",
    InsertionMode = InsertionMode.InsertAfter,
    OnSuccess = "postingSucceeded()",
    OnFailure = "postingFailed()"
}))
 {
  //View code left out 
 }
Run Code Online (Sandbox Code Playgroud)

//服务器端用于保存帖子和更新 PartialView

 [HttpPost, ValidateAntiForgeryToken, ValidateInput(false)]
    public async Task<PartialViewResult> Create
        ([Bind(Include = "ID,Title,Message,PostedOn,isAbuse,By")] Post post)
    {
        if (ModelState.IsValid)
        {
            var list = new List<Post>();
            list.Add(post);

            try
            {
                db.Posts.Add(post);
                await db.SaveChangesAsync();

                return PartialView("_Posts", list);
            }
            catch …
Run Code Online (Sandbox Code Playgroud)

javascript ajax asp.net-mvc unobtrusive-javascript

10
推荐指数
1
解决办法
1153
查看次数

如何在Asp.net MVC 6中使用NHaml(模板未找到错误)

首先,我需要说我在Asp.net上的经验非常小,这就是为什么这个问题在某些方面会引起混淆的原因.我首先创建了https://code.visualstudio.com/Docs/ASPnet5 MVC6项目yo aspnet.然后我将这一行添加到project.json中的"dependencies"

"Microsoft.Framework.ConfigurationModel.Xml": "1.0.0-beta4",
"System.Web.NHaml.Mvc3": "4.0.8",
Run Code Online (Sandbox Code Playgroud)

然后我用这个Google代码内容创建了haml.xml,并在Startup.cs文件中扩展了以下行:

var configuration = new Configuration()
            .AddJsonFile("config.json")
            .AddXmlFile("haml.xml")
            .AddJsonFile($"config.{env.EnvironmentName}.json", optional: true);
Run Code Online (Sandbox Code Playgroud)

这是我的控制器的样子:

public class HomeController : Controller
{
    public IActionResult Index()
    {
        return View(@"~/Views/Shared/Test.haml");
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序启动,但我无法呈现操作,这是浏览器中显示的错误

处理请求时发生未处理的异常.

InvalidOperationException:找不到视图'〜/ Views/Shared/Test.haml'.搜索了以下位置:〜/ Views/Shared/Test.haml.Microsoft.AspNet.Mvc.Rendering.ViewEngineResult.EnsureSuccessful()[0x00000] in,第0行

但是此文件确实存在于此目录中.任何提示或帮助表示赞赏.


BOUNTY编辑:

基本上我想要的是一个非常简单的MVC 5或6项目的详细解释或工作示例,它使用NHaml或任何其他提供Haml语法的lib(如果它与osx上的Mono一起工作,这是一个奖励).坦克很多!

c# asp.net asp.net-mvc mono asp.net-core-mvc

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

如何在不同域上的MVC前端和Web Api之间实现Anti-Forgery Token?

  1. 我希望有MVC项目 www.example1.com
  2. WebApi项目上 api.example2.com

我想限制对WebApi的访问.我试图实施防伪令牌:

当我使用Anti-forgery令牌向WebApi创建GET请求时,我得到一个异常,因为请求不包含此令牌.

在方法中调用ValidateRequestHeader是变量cookie = null.

如何修复以下代码?这是正确的解决方案?

MVC项目(前端) - 用于开发localhost:33635:

Index.cshtml

<div class="container">


    <div class="row">

        <div class="col-md-12">


            <input id="get-request-button" type="button" class="btn btn-info" value="Create request to API Server" />

            <br />

            <div id="result"></div>

        </div>


    </div>


</div>


@section scripts
{

    <script type="text/javascript">

        @functions{
            public string TokenHeaderValue()
            {
                string cookieToken, formToken;
                AntiForgery.GetTokens(null, out cookieToken, out formToken);
                return cookieToken + ":" + formToken;
            }
        }

        $(function () {

            $("#get-request-button").click(function () {

                $.ajax("http://localhost:33887/api/values", {
                    type: "GET", …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc antiforgerytoken asp.net-web-api

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

ASP.NET MVC; 使用EditorTemplates编辑集合,这是动态字段创建的最佳方式

我是ASP.NET MVC的新手,如果这比它看起来更容易,那么道歉.我一直在谷歌搜索,我有一个这样的课:

public class Search : IAuditable
{
    [Key]
    public int SearchID { get; set; }
    public int UserID { get; set; }

    ...

    public ICollection<SearchTerm> SearchTerms { get; set; }   
}
Run Code Online (Sandbox Code Playgroud)

在Create.cshtml中,我有以下内容

<div class="editor-label">
    @Html.LabelFor(model => model.Search.SearchTerms)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.Search.SearchTerms, "SearchTerm")
    @Html.ValidationMessageFor(model => model.Search.SearchTerms)
</div>
Run Code Online (Sandbox Code Playgroud)

SearchTerm EditorTemplate是一个简单的表单,如下所示:

@model Core.Search.Parameters.SearchTerm

@Html.HiddenFor(n => n.SearchTermID)
<div class="editor-label">
    @Html.LabelFor(n => n.Text, "Term")
</div>
<div class="editor-field">
    @Html.EditorFor(n => n.Text)
    @Html.ValidationMessageFor(n => n.Text)
</div>
Run Code Online (Sandbox Code Playgroud)

它似乎工作,我在创建时看到一个文本框(默认模型为空时).不过,我想要做的是能够添加/删除SearchTerms与 …

asp.net-mvc mvc-editor-templates

8
推荐指数
2
解决办法
1250
查看次数

并不总是创建__RequestVerificationToken

我们有一个包含多种形式的页面.每个都有自己的@Html.AntiForgeryToken().在我的本地机器上一切都很棒.

我们部署到Azure(PAAS),但__RequestVerificationToken 没有在每个请求上创建.有时它在那里,有时我得到所需的防伪cookie不存在,很少我得到令牌不匹配错误.

在这一点上我完全无能为力.我无法弄清楚我们的代码或Azure环境是否有问题?这些形式没有ajax.

我们已将该<machineKey>部分添加到我们的web.config中.没有缓存.有时它从第一次出现在新设备上.

asp.net-mvc azure antiforgerytoken

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

JavaScript:缺少)参数列表之后

这个javascript会产生错误:

在参数列表后丢失)

在萤火虫的代码:

<script type=\"text/javascript\">
function add( answer )
{   
  $.post('../page.php?cmd=view&id=3523', 
    {user_id: 3523, other_user_id: 2343}, function(d)
      $(answer).after(\"<span>Done!</span>\").remove();
    });
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

javascript ajax jquery

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

ASP.NET MVC HTML.AntiForgeryToken(),包含来自一个页面的多个AJAX请求

我正在创建一个页面,在没有页面刷新的情况下制作多个AJAX表单帖子.

我想使用ASP.NET MVC HTML.AntiForgeryToken()帮助程序来保护表单免受CSRF攻击.我认为页面上的每个表单都可以共享相同的令牌,但它是否允许使用相同令牌的多个请求?如果没有办法获得新令牌或其他方式来保护表格?

c# asp.net asp.net-mvc csrf antiforgerytoken

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

css的变化不会影响视觉工作室

最近我遇到了一个奇怪的问题:视觉工作室不时忽略我在.css中所做的更改.只有当我用另一个重新创建.css时!名称更改变得可见.当我清除解决方案并删除.css时,视觉效果仍然呈现!删除.css.有任何相同的问题,或者只是我的错误?

css asp.net visual-studio-2010

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

行高和背景颜色(跨度与 Div)

就像几天过去了一样,当我试图回忆我读到的内容时,line-height会误导我所看到的内容

<span>Color me</span>

span {
    line-height: 52px;
    background: red;
    font-size: 14px;
}
Run Code Online (Sandbox Code Playgroud)

为什么它不着色完整的框(即完整line-height)?

但是当我div根据需要对它的颜色做同样的事情时。

<div>Color me</div>

div {
    line-height: 52px;
    background: red;
    font-size: 14px;
}
Run Code Online (Sandbox Code Playgroud)

html css

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