小编tpe*_*zek的帖子

WebAPI控制器上未找到任何操作

我收到一个错误 - 没有找到与请求匹配的控制器'Action'的操作.

网址是http://localhost:37331/api/action/FindByModule/1.

我使用的路由是

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{action}/{id}",
    defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

控制器:

public class ActionController : ApiController
{
    private IActionRepository repository = null;

    [HttpGet]
    [ActionName("All")]
    public IEnumerable<JsonAction> All()
    {
        return from action in this.repository.Get()
               select new JsonAction
               {
                   ID = action.ID,
                   Text = action.Text.Trim(),
                   Description = action.Description.Trim(),
               };
    }

    [HttpGet]
    [ActionName("FindByModule")]
    public IEnumerable<JsonAction> FindByModule(Int64 moduleId)
    {
        return from action in this.repository.FindByModule(moduleId)
               select new JsonAction
               {
                   ID = action.ID,
                   Text = action.Text.Trim(), …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-web-api

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

我在哪里可以找到Upshot.js示例和文档?

Steve Sanderson在2012年的荷兰Techdays上做了非常有趣的演讲.在其中一个中,他提出了一个用于MVC应用程序中客户端 - 服务器通信的库:Upshot.

我真的很惊讶它是多么容易使用它,所以我想下载并测试它.我在这里通过NuGet找到了下载链接,但我找不到任何文档.有没有人有一些有用的东西?我还要感谢Steve在演示过程中展示的示例代码.

编辑:

我找到了我在Techdays参加的在线演讲.这太值得一看了.您将了解结果的功能,并了解如何从中开始.祝好运并玩得开心点.

链接:http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2159

javascript asp.net asp.net-mvc-4 upshot asp.net-spa

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

Api控制器声明多个Get语句

在MVC4中使用新的Api控制器,我发现了一个问题.如果我有以下方法:

public IEnumberable<string> GetAll()

public IEnumberable<string> GetSpecific(int i)

这会奏效.但是,如果我想要检索不同类型的某些不同数据,则默认为该GetAll方法,即使将$.getJSON其设置为GetAllIntegers方法:

public IEnumberable<int> GetAllIntergers()

(错误的命名约定)

我有可能做到这一点吗?

我可以GetAll在Web API控制器中只有一个方法吗?

我认为可视化我想要实现的目标更容易.以下是一段代码,用于展示我希望能够做到的单一内容ApiController:

public IEnumerable<string> GetClients()
{ // Get data
}

public IEnumerable<string> GetClient(int id)
{ // Get data
}

public IEnumerable<string> GetStaffMember(int id)
{ // Get data
}

public IEnumerable<string> GetStaffMembers()
{ // Get data
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net-routing asp.net-mvc-4 asp.net-web-api

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

C#如何返回List <>作为Json

我遇到了Json和Lists的问题

我试图返回一个聊天实体类列表,但当我尝试返回它时编译器发出呜呜声.我也尝试返回IEnumerable <>,但同样的错误来了

我能做什么 ?

这是我的函数返回项目,

public List<Chat> GetNewChatPosts()
{ 
    var userID = U_rep.GetUserID(User.Identity.Name);
    var list = G_rep.GetNewestChat(0, userID);
    return Json(list);
}
Run Code Online (Sandbox Code Playgroud)

这是Get Newest Chat功能

public List<Chat> GetNewestChat(int gameID, int userID)
{ 
    var pos1 = (from p in n_db.ChatPos
                where p.userID == userID && gameID == p.gameID
                select p).SingleOrDefault();
    int pos;
    if (pos1 == null)
    {
        pos = 0;
        ChatPo n = new ChatPo();
        n.gameID = gameID;
        n.userID = userID;
        n.chatID = pos;

        n_db.ChatPos.InsertOnSubmit(n);
        n_db.SubmitChanges();
    }
    else
    {
        pos = …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc json list asp.net-mvc-2

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

ASP.NET MVC 3 Treeview

我需要在我的MVC3应用程序中显示Treeview.将有一个自引用分层表(文件夹)和另一个链接到它的表(文档.)(所以文件夹可以有N-subFolders,任何文件夹/子文件夹都可以有很多文档.)

我已经研究过使用Telerik,DJME和MVC Controls Toolkit等第三方供应商.虽然所有不错的软件包,我对许可证感到不安,因为我是MVC的新手(以及一般的编程),我发现他们的文档缺乏正确的显示工作.

我还查看了TreeViews上大量引用的博客:

TreeViewHelper递归局部视图

除了其他较少引用的文章(前三名也非常有用):

  1. http://tpeczek.com/2010/01/asynchronous-treeview-in-aspnet-mvc.html
  2. http://mikehadlow.blogspot.com/2008/10/rendering-tree-view-using-mvc-framework.html
  3. http://www.tek-tips.com/viewthread.cfm?qid=1637392&page=4
  4. http://weblogs.asp.net/jigardesai/archive/2008/02/04/display-hierarchical-data-in-asp-net-mvc-framework.aspx
  5. http://www.jigar.net/articles/viewhtmlcontent311.aspx
  6. http://help.syncfusion.com/ug_82/ASP.NETMVCUI_Tools/CreatingATreeViewControl.html

我想使用TreeViewHelper或递归部分视图方法.
但是,在TreeViewHelper中,我无法从第二个表中提取数据(即.我只能让它列出文件,但我不知道如何让它列出每个文件的文档.)
对于递归部分视图,我仍然不知道如何将其转换为MVC3以及一般实现.我找到了一个帖子(forums.asp.net/t/1652809.aspx/1?treeview+with+mvc+3),解释了如何将其转换为MVC3,但我仍然不清楚该怎么做 我一直收到部分视图的错误:无法隐式转换类型'void'来输入'object'

就像我之前说的,我是MVC3的新手,并希望了解哪种方法最适合我的场景以及如何实现它.

asp.net-mvc treeview hierarchy asp.net-mvc-3

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

MVC4 RC中缺少单页应用程序模板

当我在开发PC上安装MVC4 beta时,它有一个SPA(单页面应用程序)模板.今天在具有相同设置(VS2010 SP1,win7)的不同PC上,我安装了MVC4 RC,但不再提供SPA模板(见图).还有谁有相同的问题吗?或者这是一个我无法找到的记录变更?

在此输入图像描述

installer singlepage asp.net-mvc-4 asp.net-spa

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

MVC 4 SPA(单页应用程序)澄清

我一直在http://www.asp.net/single-page-application/an-introduction-to-spa上阅读MVC 4 SPA .

即使在阅读之后我还不清楚我应该在什么情况下使用SPA.通过查看上面链接上的几个示例,看起来控制器保持不变.MVC网页与SPA之间的区别在于SPA是否包含许多Javascript框架?如果我们将这些Java Script框架(Jquery,Knockout,Upshot等)与MVC Web一起使用,我们可以获得与SPA相同的结果吗?OR SPA是指整个网络应用程序的一页?

另外,我们是否正在使用SPA的布局页面?

谢谢你的澄清.希望有人不会 - 投票.

asp.net-mvc-4 asp.net-spa

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

MVC 4单页应用程序和日期时间

在使用MVC 4的新单页应用程序工具时,我注意到我找到的所有示例都没有包含通过WebApi更新的DateTime示例.我很快发现了原因.

我首先从提供的模板生成标准SPA.然后我打开了TodoItem.cs并添加了DateTime字段.然后我按照评论的指示生成了控制器.(没有datetime字段,一切正常).

生成所有内容后,我启动了应用程序并导航到控制器索引(我称之为控制器"任务").我按预期获得了0个记录的网格页面并单击了添加按钮.我按预期被带到了编辑页面并输入了一些数据,包括我闪亮的新日期时间字段中的日期.然后点击保存.

产生了一个错误:

服务器错误:HTTP状态代码:500,消息:反序列化System.Web.Http.Data.ChangeSetEntry []类型的对象时出错.DateTime内容'01/01/2012'不以'/ Date('和以')/'结尾,如JSON所要求的那样.

看起来工具还不支持DateTime.我确信我可以花一些时间来搞清楚并让它发挥作用,但我想我可能会在这里找到一些运气,因为已经解决了这个问题且可以提供洞察力的人.

有人已经在争吵吗?

更新:我提出了自问这个以来我发现的更多信息.我尝试使用JSON.Net作为我的Formatter,如下所示.我认为这将是最终的解决方案,但是,正如下面推荐的海报还不够.

使用JSON.Net序列化程序时,我收到以下错误:

此DataController不支持实体'JObject'的操作'Update'.

原因是JSON.Net没有完全填充格式化程序试图取消规划的对象(System.Web.Http.Data.ChangeSet).

发送的json是:

[{"Id":"0",
  "Operation":2,
  "Entity":
    {"__type":"TodoItem:#SPADateProblem.Models",
     "CreatedDate":"/Date(1325397600000-0600)/",
     "IsDone":false,
     "Title":"Blah",
     "TodoItemId":1},
  "OriginalEntity":
    {"__type":"TodoItem:#SPADateProblem.Models",
     "CreatedDate":"/Date(1325397600000-0600)/",
     "IsDone":false,
     "Title":"Blah",
     "TodoItemId":1}
}]
Run Code Online (Sandbox Code Playgroud)

内置的Json Formatter能够将此Json重构为ChangeSet对象,并在Entity和OriginalEntity字段中嵌入TodoItem对象.

有没有人得到JSON.Net来正确反序列化?

datetime asp.net-mvc-4 asp.net-web-api asp.net-spa

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

在unity3d中使用LitJson

2个问题.

1)在Javascript中编写脚本时是否可以按原样使用LitJson库?这是一个关于能够在javascript源代码中使用c#source的一般问题.

2)我是c#dev的新手.我似乎无法让LitJson启动并运行.以下代码抛出此错误:An object reference is required to access non-static memberLitJson.JsonReader.Read()'`

using UnityEngine;
using System.Collections;

public class Loadr : MonoBehaviour {
string url= "http://developer.echonest.com/api/v4/artist/images?api_key=N6E4NIOVYMTHNDM8J&id=ARH6W4X1187B99274F&format=json&results=1&start=0&license=unknown";
void  Start (){
    WWW www = new WWW(url);
    print(www.text);
    Object a = LitJson.JsonReader.Read(www.text);
    print(a.response.status);

    }

}
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

c# json unity-game-engine litjson

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

调用Alert JavaScript函数时出现ASP.NET ModalPopupExtender

我正面临来自ASP.NET Ajax Controls Toolkit ModalPopupExtender的错误行为,当我Alert()从服务器端调用JavaScript函数时,模态出现在后台.我不知道为什么会这样.

这是代码:

VB:

Sub ShowAlert(ByVal message As String)
    ScriptManager.RegisterStartupScript(Me.UpdatePanel, UpdatePanel.GetType(), "notificationScript", "<script language='JavaScript'> alert('" & message & "'); </script>", False)
End Sub
Run Code Online (Sandbox Code Playgroud)

ASPX:

<asp:UpdatePanel ID="UpdatePanel" runat="server">
  <ContentTemplate>
      <asp:Panel ID="pnlPartialInstructions" CssClass="modal" runat="server">
         ......
      <asp:Panel ID="pnlPrintConfirmation" CssClass="modal" runat="server">
          <table class="ui-accordion">
              <tr>
                  <td colspan="2">
                      <asp:Label Text="Do you want to print the receipt?" ID="lblPrintConfirmation" runat="server"
                          meta:resourcekey="lblPrintConfirmationResource1" Font-Bold="True" Font-Names="tahoma"
                          Font-Size="Large" />
                  </td>
              </tr>
              <tr>
                  <td>
                      <asp:Button ID="btnConfirmPrint" Text="Yes" CssClass="google-button google-button-blue"
                          runat="server" meta:resourcekey="btnConfirmSaveResource1" Font-Size="Large" />
                  </td>
                  <td>
                      <asp:Button ID="btnCancelPrint" Text="No" …
Run Code Online (Sandbox Code Playgroud)

asp.net modalpopupextender asp.net-ajax ajaxcontroltoolkit

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

c#webapi httpget属性

我正在关注本教程:

http://www.asp.net/web-api/overview/web-api-routing-and-actions/create-a-rest-api-with-attribute-routing

并查看"获取书籍详细信息"部分.

我看到这段代码:

[HttpGet("api/books/{id}/details")]
public BookDetailDto GetBookDetail(int id)
{
}
Run Code Online (Sandbox Code Playgroud)

但是我遇到了错误

HttpGet有0个参数,但是用1个参数调用

(我在ASP .net 4.0 WebAPI上)

指定路径的/详细信息部分的新方法是什么?


我的努力:

  <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="1.0.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.Providers.Core" version="1.2" targetFramework="net40" />
  <package id="Microsoft.AspNet.Providers.LocalDB" version="1.1" targetFramework="net40" />
  <package id="Microsoft.AspNet.Razor" version="2.0.20715.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.WebApi" version="4.0.20710.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.WebApi.Core" version="4.0.20710.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.WebApi.HelpPage" version="4.0.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.WebApi.OData" version="4.0.0" targetFramework="net40" />
  <package id="Microsoft.AspNet.WebApi.Tracing" version="4.0.0" targetFramework="net40" />
  <package …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-web-api

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

在EditorFor Fields上使用Javascript?

在MVC4中,我有一个EditorFor字段,它表示一个布尔值并呈现为一个复选框,如果选中该复选框,我想让其他EditorFor字段更改为不可编辑.这在简单的html中很简单,但是使用razor语法我不知道该怎么做.

<div class="editor-field">
        @Html.EditorFor(model => model.Draw)
        @Html.ValidationMessageFor(model => model.Draw)
    </div>

<script type="text/javascript">
function validate() {
    if (document.getElementById('@Html.EditorFor(model => model.Draw)').checked) {
        alert("checked")
    } else {
        alert("You didn't check it! Let me check it for you.")
    }
}
Run Code Online (Sandbox Code Playgroud)

试图用那个脚本测试它,但因为我不知道编辑器的ID,因为我不确定该怎么做.

javascript asp.net-mvc asp.net-mvc-4

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

ASP.Net Web API - 远程服务器返回错误:(405)方法不允许

我正在使用新的MVC4 ASP.Net Web API系统.

我在使用WebClient的测试项目中调用我的API.如果我使用GET或POST,它可以正常工作.如果我使用其他任何东西,我会得到Method Not Allowed.我实际上是通过注入以下标题来"伪造"该方法.我这样做是因为我的最终用户也必须这样做,因为一些防火墙的限制.

我通过IIS调用URL(即不是cassini) - 例如http:// localhost/MyAPI/api/Test

wc.Headers.Add("X-HTTP-Method", "PUT");
Run Code Online (Sandbox Code Playgroud)

我尝试在IIS中调整脚本映射,但由于没有扩展,我不知道我要调整的是什么!

有任何想法吗?关心尼克

asp.net-mvc-4 asp.net-web-api

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