小编mos*_*o87的帖子

错误MSB3541:文件具有无效值

我刚刚向AppHarbor部署了一个asp.net mvc 3 Web应用程序,但它失败了:

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3932,5):错误MSB3541:文件具有无效值"<<<<<<< HEAD".路径中的非法字符.[d:\ TEMP\q5cmde4m.uk1 \输入\ MyProject的\ MyProject.csproj]

这是在我用Visual Studio 2012打开项目之后发生的(该应用程序是使用VS2010创建的).

visual-studio-2010 asp.net-mvc-3 appharbor visual-studio-2012

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

获取内容文件的绝对路径

在asp.net mvc视图中是否有任何简单(内置)方式来获取内容文件夹中文件的绝对路径?

目前我正在使用

@Url.Content("~/Content/images/logo.png")
Run Code Online (Sandbox Code Playgroud)

但返回的路径并不是绝对的.

我知道有可能为这种情况建立自己的助手,但我想知道是否有更简单的方法......

asp.net-mvc asp.net-mvc-3

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

模拟HttpPostedFileBase和InputStream进行单元测试

我想测试以下代码行:

...
Bitmap uploadedPicture = Bitmap.FromStream(model.Picture.InputStream) as Bitmap;
...
Run Code Online (Sandbox Code Playgroud)

Picture是我的模型类型HttpPostedFileBase中的属性.所以我想模拟一个HttpPostedFileBase属性进行单元测试:

model.Picture = new Mock<HttpPostedFileBase>().Object;
Run Code Online (Sandbox Code Playgroud)

没问题.

现在我必须模拟InputStream,否则它是null:

model.Picture.InputStream = new Mock<Stream>().Object;
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为InputStream是只读的(没有setter方法):

public virtual Stream InputStream { get; }
Run Code Online (Sandbox Code Playgroud)

是否有一个良好而干净的方法来处理这个问题?一种解决方案是在我的单元测试的派生类中重写HttpPostedFileBase.还有其他想法吗?

asp.net-mvc unit-testing moq httppostedfilebase

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

使用AJAX将JavaScript数组发布到asp.net MVC控制器

我的控制器:

[HttpPost]
public ActionResult AddUsers(int projectId, int[] useraccountIds)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想通过AJAX将参数发布到控制器.传递int projectId不是问题,但我无法设法发布int[].

我的JavaScript代码:

function sendForm(projectId, target) {
    $.ajax({
        traditional: true,
        url: target,
        type: "POST",
        data: { projectId: projectId, useraccountIds: new Array(1, 2, 3) },
        success: ajaxOnSuccess,
        error: function (jqXHR, exception) {
            alert('Error message.');
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用测试阵列,但没有成功.:(我也尝试过设置traditional: true,contentType: 'application/json; charset=utf-8'但也没有成功......

int[] useraccountIds贴到我的控制器总是空.

javascript ajax asp.net-mvc jquery

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

单元测试RedirectToRouteResult

我的控制器中有以下代码:

public class MyController : BaseController
{
    public ActionResult MyMethod()
    {
        ...
        return RedirectToAction("Index", "Dashboard");
    }
}
Run Code Online (Sandbox Code Playgroud)

我想对这个重定向(RedirectToRouteResult)进行单元测试.我这样做了:

Assert.IsTrue(result.RouteValues.ContainsKey("action"));
Assert.IsTrue(result.RouteValues.ContainsKey("controller"));
Assert.AreEqual("Index", result.RouteValues["action"].ToString());
Assert.AreEqual("Dashboard", result.RouteValues["controller"].ToString());
Run Code Online (Sandbox Code Playgroud)

所以我需要四个断言来测试我的RedirectToRouteResult.有没有更有效的方法?

asp.net-mvc unit-testing redirecttoaction redirecttoroute asp.net-mvc-3

19
推荐指数
1
解决办法
4226
查看次数

Html.RenderPartial和Ajax.BeginForm - >提交被调用两次

我有以下索引视图:

@model BoringStore.ViewModels.ProductIndexViewModel
@{
    ViewBag.Title = "Index";
}

<h2>Produkte</h2>

<div id='addProduct'>
    @{ Html.RenderPartial("Create", new BoringStore.Models.Product()); }
</div>

<div id='productList'>
    @{ Html.RenderPartial("ProductListControl", Model.Products); }
</div>
Run Code Online (Sandbox Code Playgroud)

"productList"只是所有产品的列表.

addProduct呈现我的创建视图:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<div id="dialog-confirm" title="Produkt hinzufügen" style="display:none">
@using (Ajax.BeginForm("Index_AddItem", new AjaxOptions { UpdateTargetId = "productList" }))
{ 
    @Html.Raw(DateTime.Now.ToString());

    <div>
        @Html.LabelFor(model => model.Name)
        @Html.EditorFor(model => model.Name)
    </div>
    <br />
    <div>
        @Html.LabelFor(model => model.Price)
        @Html.EditorFor(model => model.Price)
    </div>
    <br /><br />
    <div>
        <input type="submit" value="Produkt hinzufügen" />
    </div>
}
Run Code Online (Sandbox Code Playgroud)

提交表单时,将调用控制器中的Index_AddItem方法.不幸的是,表单总是调用该方法两次.:(

有人可以帮我吗?

asp.net-ajax partial-views razor asp.net-mvc-3 double-submit-problem

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

"未验证电子邮件"的HTTP状态

我已经看到了所有HTTP状态代码的列表.但对我来说,似乎没有"电子邮件未验证"(用于身份验证/授权)的代码.你曾经遇到过同样的"问题"吗?您使用了什么HTTP状态代码?

我想它应该是一个以4开头的代码,因为它是一个"客户端错误".

http http-status-codes

12
推荐指数
1
解决办法
5251
查看次数

与jquery ajax序列化的模型绑定无法正常工作

我有以下型号:

public class RegisterUseraccount
{
    [Required]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "E-Mail-Adresse")]
    public string Email { get; set; }

    [Required]
    [Display(Name = "Vorname")]
    public string FirstName { get; set; }

    [Required]
    [Display(Name = "Nachname")]
    public string LastName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [MinLength(5)]
    [Display(Name = "Passwort")]
    public string Password { get; set; }

    ...
}
Run Code Online (Sandbox Code Playgroud)

以下观点:

@using (Html.BeginForm("Register", "Useraccount", FormMethod.Post, new { id = "registerUseraccountForm", @class = "ym-form" }))
{
    @Html.ValidationSummary(true)        

    <div class="ym-grid">
        <div class="ym-g50 ym-gl">
            <div class="ym-fbox-text">
                @Html.LabelForRequired(model => model.RegisterUseraccount.FirstName, …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery asp.net-mvc-3

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

Passport本地策略和cURL

我想用CURL测试我的node.js + express + passport.js测试应用程序(RESTful).我的代码:

var express = require('express');
var routes = require('./routes');
var http = require('http');
var path = require('path');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

// Define the strategy to be used by PassportJS
passport.use(new LocalStrategy(
    function(username, password, done) {
        if (username === "admin" && password === "admin") // stupid example
            return done(null, {name: "admin"});

        return done(null, false, { message: 'Incorrect username.' });
    }
));

// Serialized and deserialized methods when got from session
passport.serializeUser(function(user, done) …
Run Code Online (Sandbox Code Playgroud)

curl node.js git-bash express passport.js

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

SimpleJson:字符串到JSONArray

我得到以下JSON:

[
  {
    "user_id": "someValue"
  }
]
Run Code Online (Sandbox Code Playgroud)

它保存在String中.

我想将它转换为JSONObject失败的(因为构造函数假设一个JSON开始{).由于这似乎不可能,我想将其转换为JSONArray.我怎么能用SimpleJson做到这一点?

java json jettison

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