小编Bro*_*ato的帖子

将多个参数传递给我的'POST'ajax调用我的webAPI控制器>找不到http 404

我可以像这样成功地对我的webAPI进行ajax调用:

使用Javascript:

    $.ajax({
        type: "GET",
        url: "api/Breeze/DeleteMaterials",
        cache: false,
        data: { aa: 'aa', bb: 'bb' },
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        traditional: true,
        success: () => { result.resolve(true); },
        error: (error) => result.reject(error)
    });
Run Code Online (Sandbox Code Playgroud)

Web API:

    [System.Web.Http.HttpGet]
    public void DeleteMaterials(string aa, string bb)
    {
        // doing something here
    }
Run Code Online (Sandbox Code Playgroud)

它工作得很好.到达webAPI并且存在值参数.现在我不想保持'GET'调用,因为在这里我正在执行删除服务器端,我需要'DELETE'或'POST'.

我知道'DELETE'调用是不可能的,因为它只接受1个参数,对于我的情况我需要传递2个参数.

所以我尝试在我之前的代码中用'POST'替换'GET'并且从未到达webAPI并且我得到HTTP错误404:找不到.

我已经在所有SO建议中搜索了很多但是没有一个能给我我需要的东西.

任何的想法?

谢谢.

jquery asp.net-web-api

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

有图像(没有容器)没有拉伸

我希望我的图像不被拉伸,也没有滚动条.因此,当浏览器窗口缩小时,图像仍然是相同的大小(但隐藏溢出).

<img src="http://nybbledesigns.com/images/header.jpg"/>
Run Code Online (Sandbox Code Playgroud)

JsFiddle:http://jsfiddle.net/6ppL9axc/

我找到了带容器的解决方案但我需要一个没有的解决方

任何的想法?

html css

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

需要使用VS2012清理和重建我的解决方案才能在VS2015上运行它

我的ASP.NET MVC解决方案在VS2012上运行得很好.我安装了VS2015,我的解决方案也适用于它....直到我Clean接着Rebuild它内部的服务.然后,如果我运行解决方案,我在尝试调用服务时遇到错误(这是我的解决方案的一部分)...

如果我Clean然后Rebuild在VS2015中的解决方案并再次运行它得到相同的错误.

如果我CleanRebuild在VS2012的解决方案,将其关闭并在VS2015再次打开它,然后它运行得很好.

因此,似乎我需要CleanRebuildVS2012一起能够在VS2015下运行它.很奇怪.

编辑


错误是:System.ServiceModel.ProtocolException因为服务没有按预期返回结构化数据,而是一些html(1024个第一个八位字节)...对应于错误页面,如下所示:

"

<head>

    <title>Could not load file or assembly 'System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.</title>

    <meta name="viewport" content="width=device-width" />

    <style>

     body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} 

     p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px}

     b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px}

     H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red }

     H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon }

     pre {font-family:"Consolas","Lucida Console",Monospace;font-size:11pt;margin:0;padding:0.5em;line-height:14pt}

     .marker {font-weight: bold; color: black;text-decoration: none;} …
Run Code Online (Sandbox Code Playgroud)

visual-studio visual-studio-2015

5
推荐指数
0
解决办法
200
查看次数

整个宽度上同一行+文本框上的标签和文本框

默认情况下,在ASP.NET MVC中,当系统生成视图(脚手架)时,我们在一行上有标签,在下一行有文本框.我想将标签和文本框放在同一行,并在整个宽度上设置文本框(100%).我试图成功实现这一目标.

我发现了一些类似的帖子,但不允许我在整个宽度上放置文本框!

这就是我想要的:

在此输入图像描述

所以,默认我有:

<div class="editor-label"> @Html.LabelFor(model => model.Descr) </div>
<div class="editor-field"> @Html.EditorFor(model => model.Descr) </div>

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

任何的想法?

css asp.net-mvc

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

遵循视图模型模式的最佳实践

我现在有几次学习ASP.NET MVC了.我遵循在互联网或书籍中找到的一些指导原则,我想确保我遵循关于视图模型模式的开发中的良好实践.以下是博客实施的简单示例.能否请你确认我是在正确的方式.假设我想在视图上显示帖子标题+描述,并在此帖子上显示评论.所以我有一个视图有2个部分视图.

在我的控制器中:

    public ActionResult DetailPost(int postID)
    {
        // retrieve infos
        Post postModel = repository.Posts.FirstOrDefault(p => p.PostID == postID);
        IEnumerable<Comments> commentsModel = postModel.Comments;

        // prepare view model
        DetailPostViewModel detailPostViewModel = new DetailPostViewModel
                                                        {
                                                            Post = postModel,
                                                            Comments = commentsModel,
                                                        };

        return View(detailPostViewModel);
    }
Run Code Online (Sandbox Code Playgroud)

所以在这里,我将看到一个由两件事组成的视图模型:

  • 帖子信息
  • 列举的评论.

视图模型将传递给视图以跟随视图模型模式.

在我的详细视图中:

@model WebUI.ViewModels.DetailPostViewModel

@{
    ViewBag.Title = "Detail";
}

<h2>Detail</h2>

@Html.Partial("_DetailPost", Model.Post)
@Html.Partial("_Comments",  Model.Comments)
Run Code Online (Sandbox Code Playgroud)

所以在这里,我使用了我的DetailPostViewModel.对于我的部分观点,我传递了必要的信息,即实体!?我不知道这是正确的方式,还是我必须在这里通过视图模型呢?

在我的_DetailPost视图中:

@model Domain.Entities.Post

@Html.DisplayForModel()
...
Run Code Online (Sandbox Code Playgroud)

所以在我的部分视图中,我使用en实体作为模型.是好还是坏?

在我的_Comments视图中:

@model IEnumerable<Domain.Entities.Comment>

@foreach (var item in Model)
{
    @Html.DisplayFor(Model => item.Title)
    @Html.DisplayFor(Model …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc

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

Ajax.ActionLink只是第一次触发

我认为我有一个ActionLink.单击时,我的控制器中的操作被触发(我放置了一个断点来检查).它仅在第一次单击链接时起作用.其他时候,我的动作控制器中的断点永远不会到达.

@Ajax.ActionLink("Remove image", "RemoveImage", new { projectID = Model.ProjectID }, new AjaxOptions { OnSuccess="ImageRemovedSuccess" })   
Run Code Online (Sandbox Code Playgroud)

OnSuccess ajax事件的函数"ImageRemovedSuccess"被很好地触发,但是没有触发控制器中的动作.

有什么建议?

谢谢.

asp.net-mvc jquery

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

从Durandal模态对话框中返回一些东西

我使用Durandal模板开发了一个asp.net解决方案.

我想使用模态对话框来选择表中的元素,并返回主视图模型中的选择元素.

这是我到目前为止:

在主视图中,我有一个链接(changer)允许我打开模态对话框:

在此输入图像描述

以下是单击链接时调用的viewModel的功能:

var changeSender = function (item) {
    app.showModal('viewmodels/sender');
};
Run Code Online (Sandbox Code Playgroud)

所以我打开名为的对话框sender.

下面是viewModel sender:

define(function (require) {

    var system = require('durandal/system'),
        datacontext = require('services/datacontext');

    var senders = ko.observableArray();

    var activate = function () {
        return datacontext.getSenders(senders);
    };

    var buttonOk = function (dialogResult) {
        this.modal.close(dialogResult);
    }

    var buttonCancel = function () {
        this.modal.close();
    }

    var vm = {
        activate: activate,
        senders: senders,
        buttonOk: buttonOk,
        buttonCancel: buttonCancel
    };

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

以下是'theder'的视图:

<div …
Run Code Online (Sandbox Code Playgroud)

knockout.js durandal

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

强制击倒以将可观察的标记标记为已更改(即使焦点仍在场中)

我用淘汰/微风开发了一个项目.

我想知道是否有可能强制淘汰赛将观察者标记为已更改(即使焦点仍在场中).我的goad是通知用户,无论何时他开始更改日期,他都能够保存它(立即显示一个按钮).例如,我有一个带日期的输入字段.用户开始在此字段中编辑日期.只有当用户离开该字段的焦点时,observable才应解释新的编码日期.但是我想Save button在输入字段中输入内容时立即显示我的内容.我希望我很清楚.

这是我的bindingHandlers,用于处理输入中的编辑日期:

ko.bindingHandlers.dateRW = {
    //dateRW --> the 'read-write' version used both for displaying & updating dates
    init: function (element, valueAccessor, allBindingsAccessor) {
        var observable = valueAccessor();
        var value = ko.utils.unwrapObservable(valueAccessor);
        //handle the field changing
        ko.utils.registerEventHandler(element, "change", function () {                
            var myDate = moment($(element).val(), "DD/MM/YYYY");
            observable(myDate.toDate());
        });
        //ko.utils.registerEventHandler(element, "keyup", function () {
        //    As soon as user begin to type something, I would like to show my save button
        //});
    },
    update: function (element, valueAccessor, allBindingsAccessor) …
Run Code Online (Sandbox Code Playgroud)

knockout.js breeze

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

Typescript编译错误:环境上下文中的代码不允许使用'declare'修饰符

我在我的项目中使用了typescript定义文件breeze(breeze.d.ts).当我编译我的项目时,我得到一个错误行216:

'declare' modifier not allowed for code already in an ambient context.

如果我只是删除declare它编译成功.

有没有人遇到同样的问题?

谢谢.

typescript

4
推荐指数
2
解决办法
4620
查看次数

当名称包含点时剔除数据绑定文本

我从 Dailymotion API 检索数据。

  "created_time": 1391086059,
  "message": "20 minutes rime avec fils de.",
  "owner.username": "Mejicano777"
Run Code Online (Sandbox Code Playgroud)

如何使用data-bind'owner.username' 上的 'text' 属性?

我试过:

<strong data-bind="text: owner.username"></strong>
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

谢谢。

knockout.js

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