小编Sim*_*ver的帖子

在ASP.NET MVC中以相同的ActionResult返回JSON *和HTML的最佳方法是什么

我正在使用ASP.NET-MVC,并从我的MVC操作返回JSON或HTML。

我遇到过一些情况,我需要同时返回JSON和HTML。例如,我可能更新了购物车,并且需要返回HTML表示形式以及更新的JS对象模型。

我在SO上发现了很多有关何时返回哪种类型的响应的问题,但是没有人讨论如何同时返回两种响应。

有可靠的方法吗?必须在所有浏览器上都能正常工作。

  • 多部分响应?
  • 在JSON结果中编码的HTML?
  • 嵌入在包含JSON的HTML中的某种脚本标签,该脚本标签将运行用于更新对象模型的函数。我倾向于这种方法,但是担心当使用html(“ ...”)将脚本添加到DOM时,脚本可能无法可靠地运行
  • 其他方式?

如果没有一个好的方法,我只需要发出2个请求来获取HTML,然后获取JSON。

asp.net-mvc json

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

适用于MVC 2 beta 2的MicrosoftMvcJQueryValidation.js版本在哪里?

MicrosoftMvcJQueryValidation.js ASP.NET MVC 2用于客户端验证.

有这个文件的问题只是没有正常工作,并想知道我是否有错误的版本.

我使用的版本来自期货来源.

 MicrosoftMvcJQueryValidation.js
 5,626 bytes
 11/17/09 10:43:12am
Run Code Online (Sandbox Code Playgroud)

我认为我的版本错误有两个原因:

1)我实际上必须调用此代码才能使验证例程正常工作.这是因为现在嵌入的默认客户端验证功能FormContext.csSys.Mvc.FormValidation.enableClientValidation.

 ViewContext.FormContext.ClientValidationFunction = "EnableClientValidation";
Run Code Online (Sandbox Code Playgroud)

2)jquery.validate.js中有一些代码可以执行以下操作:

  this.settings.errorPlacement
    ? this.settings.errorPlacement(label, $(element) )
    : label.insertAfter(element);
Run Code Online (Sandbox Code Playgroud)

这调用此函数MicrosoftMvcJQueryValidation.js:

 errorPlacement: function(error, element) {
        var messageSpan = fieldToMessageMappings[element.attr("name")];
        $(messageSpan).empty();
        $(messageSpan).removeClass("field-validation-valid");
        $(messageSpan).addClass("field-validation-error");
        error.removeClass("input-validation-error");
        error.attr("_for_validation_message", messageSpan);
        error.appendTo(messageSpan);
    },
Run Code Online (Sandbox Code Playgroud)

问题是元素已被jQuery.validatejQuery $(element)表达式包装.

因此element.attr("name")未定义,但element[0].attr("name")有效.

MicrosoftMvcJQueryValidation.js微软的网站上下载了期货.`

我找不到任何其他MicrosoftMvcJQueryValidation版本 - 但我敢肯定必须有一个版本.有人可以帮忙吗?

asp.net-mvc asp.net-mvc-2

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

将域映射到MVC区域

有人在将域映射到MVC区域方面有经验吗?

这是我们的情况:

旧系统(仍然有效但很快将重定向到新商店):

www.example.com - 我们的主要网站,我们发送流量
store.example.com - 我们的商店网站是一个完全独立的网站,在谷歌索引

新系统:

www.example.com - 与以前相同的网站
www.example.com/store - 新商店网站 - 内置于ASP.NET MVC区域

由于商店是一个单独的域,谷歌会在搜索结果中为其指定一个单独的条目.我想在将来保留这个好处,但想知道是否有一个很好的方法将域(store.example.com)映射到MVC区域,或者它是否会比它的价值更麻烦.

PS.我不是想保留现有的索引 - 它是一个完全独立的商店,所以这是不可能的.我只想重定向到新商店中的相应页面.我只是试图不为了SEO目的而失去两个域的好处.

iis asp.net-mvc seo domain-mapping

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

ASP.NET MVC:如何解析url字符串以获取RouteData

有没有办法从url字符串中获取RouteData?

我有loginlUrl作为查询字符串参数的登录表单.我的路线定义为:{languageCode}/{controller}/{action}

在行动方法中LogIn(string returlUrl),returlUrl类似于"en/home/contacts"等.我需要更改languagePart ai不想使用string.Replace,因为路线可能在将来发生变化.

谢谢.

routing asp.net-mvc-2

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

严格的DOCTYPE影响图像之间的间距

当我切换到XHTML Strict DOCTYPE时,我的图像间距有问题.

下面的代码 - 使用Yahoo的重置样式表来消除所有默认的浏览器填充 - 在下面的两个图像之间留下大约4个像素的间隙,但仅当我使用严格的doctype时.为什么是这样?

这只是Chrome和Firefox中的一个问题.IE不会在两个图像之间显示单个像素.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <link rel="stylesheet" type="text/css" 
     href="http://yui.yahooapis.com/2.6.0/build/reset/reset-min.css">
</head>

<body>

<div><img src="http://www.catfacts.org/cat-facts.jpg" border="0"/></div>
<div><img src="http://www.catfacts.org/cat-facts.jpg" border="0"/></div>


</body>
</html>
Run Code Online (Sandbox Code Playgroud)

css xhtml doctype

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

使用Linq投影中的方法

给出以下代码:

        var EmployeeXPosition = from emp in context.WTDEmployee
                                from ep in emp.WTDEmployeeXOXPosition
                                select new { 
                                    EmployeeId = emp.id, 
                                    FullNameAndPosition =  string.Format("{0} {1} : {2}", emp.FirstName, emp.LastName, ep.WTDPosition.Position) 
                                };
Run Code Online (Sandbox Code Playgroud)

它给出了错误:

LINQ to Entities无法识别方法'System.String Format(System.String,System.Object,System.Object,System.Object)'方法,并且此方法无法转换为商店表达式.

果然我能做到:

 emp.FirstName+" "+ emp.LastName +" : " + ep.WTDPosition.Position
Run Code Online (Sandbox Code Playgroud)

但它看起来很难看,有关如何使用的任何建议string.Format吗?

c# linq

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

如何在视频启动时立即隐藏JWPlayer或FlowPlayer上的控制栏

我有一个视频,我需要立即开始播放我的页面加载(这是容易的部分).

我还可以将视频控制栏设置为"自动隐藏",但我希望它最初是不可见的,因为它在视频开始时看起来非常混乱.

(我也是我自己的按钮,对应于视频中的"部分",但我仍然希望人们看到进度条,如果它们翻转).

我试过看JWPlayer和Flowplayer都有自动隐藏控制条,但它们都在启动时显示.

有没有办法不在这些玩家或其他玩家中最初显示控制栏?

jwplayer flowplayer

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

如何在动态添加行后刷新JQuery移动表

我基于我从服务器获取的JSON字符串向JQ Mobile表添加行.

刷新后第一次进入页面时,没有添加任何样式,但是每次都可以正常工作.

有没有办法像列表视图一样刷新/初始化表格?

下面的代码是我添加行的地方:

$.each(result, function() {
    var imgString;

    if(result[i]["status"] == 'Y') {
        imgString = '<img src= images/checkMark.png height=\"40\" width=\"40\" align=\"middle\">';
    } else {
        imgString = '';
    }

    $('#pickupTable > tbody:last').append('<tr><td class=\"tableRow10\">' +  imgString + 
      '<td class=\"tableRow80\"><a><button class=\"selectPickup\" pickupCode = \"'+ 
      result[i]["id"] + '\"> '+ result[i]["address"] +'</button></a></td></tr>');
    i++;
});

$('#pickupTable > tfoot:last').append('<tr><td colspan="5">Total Pick Ups: ' 
  +result.length + '</td></tr>');
Run Code Online (Sandbox Code Playgroud)

javascript html-table dynamically-generated jquery-mobile

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

为什么我的oData响应没有导航属性

如果您查看以下示例oData Feed,您将看到包含"子"项的导航属性,以告诉您要遵循的URL:

http://services.odata.org/OData/OData.svc/Suppliers?$format=json

例如,供应商0具有产品的导航属性.这链接到该供应商的产品列表.

http://services.odata.org/OData/OData.svc/Suppliers(0)/Products?$format=json


我正在努力做同样的事情ODataConventionModelBuilder,EntitySetController<Product>所以当我要求oData/Product(0)它时会告诉我产品的'功能':

我像这样创建我的模型(基于GetImplicitEdmModel示例)

     // odata
     ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
     modelBuilder.EntitySet<RRStoreDB.Models.Product>("Product");
     modelBuilder.EntitySet<RRStoreDB.Models.ProductFeature>("ProductFeature");

     Microsoft.Data.Edm.IEdmModel model = modelBuilder.GetEdmModel();
     config.Routes.MapODataRoute("ODataRoute", "odata", model);
Run Code Online (Sandbox Code Playgroud)

我为WebAPI创建了一个控制器:

public class  ProductController : EntitySetController<Product, int>
{
    RRStoreDBContext _db = new RRStoreDBContext();


    [Queryable]
    public override IQueryable<DProduct> Get()
    {
        return _db.Products.AsQueryable();
    }

    public ICollection<ProductFeature> GetProductFeatures(int key)
    {
        Product product = _db.Products.FirstOrDefault(p => p.ProductId == key);
        if (product == null)
        {
            throw new HttpResponseException(HttpStatusCode.NotFound);
        }
        return product.ProductFeatures;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我实际调用我的子属性的URL时,它工作并给我正确的功能列表: …

wcf-data-services odata asp.net-web-api

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

SignalR从javascript客户端连接缓慢

有时需要一秒或更长时间才能从浏览器连接到我的SignalR服务器 - 即使在本地运行时也是如此.我认为websockets是快速的!

signalr

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