小编MrB*_*liz的帖子

使用ASP.NET MVC3中的JavaScriptSerializer转义引号

我有一个用户数组,我想作为一个javascript数组传递给一个视图.我是通过JavaScriptSerializer做的,但我得到的字符串中没有未转义的引号.

控制器动作

public virtual ActionResult Create(int id){

        var viewModel = new AttendeeViewModel();

        var data = viewModel.GetMembershipUserList() ;

        viewModel.MeetingID = id;

        viewModel.Users = new JavaScriptSerializer().Serialize(data.ToArray());

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

视图

 <script type="text/javascript">

   var tags = @Model.Users

    $(document).ready(function () { $("#mytags").tagit({ availableTags:tags}); });
</script>
Run Code Online (Sandbox Code Playgroud)

视图模型

 public class AttendeeViewModel
{

    public int AttendeeId { get; set; }
    public string Name { get; set; }
    public int MeetingID { get; set; }
    public string Users { get; set; }

    public List<string> GetMembershipUserList()
    {
        List<string> userNames …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc jquery javascriptserializer

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

信号器装配加载问题OWIN

尝试在Microsoft.AspNet.SignalR.Owin程序集中加载类时出现此错误.

执行离开Configuration方法后抛出异常startup.cs.我已经注册了一个全局异常处理程序来尝试捕获异常,但它没有被捕获.

public async override Task HandleAsync(ExceptionHandlerContext context, CancellationToken cancellationToken)
        {

            var exception = context.Exception;

            const string genericErrorMessage =  "An unexpected error occured";
            var response = context.Request.CreateResponse(HttpStatusCode.InternalServerError,
                new
                {
                    Message = genericErrorMessage
                });

            response.Headers.Add("X - Error & ", genericErrorMessage);
            context.Result = new ResponseMessageResult(response);
        }
Run Code Online (Sandbox Code Playgroud)

config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler());

Global.asax中的Application_Error方法也没有捕获它

 protected void Application_Error(object sender, EventArgs e)
    {
        HttpContext ctx = HttpContext.Current;
        KeyValuePair<string, object> error = new KeyValuePair<string, object>("ErrorMessage", ctx.Server.GetLastError().ToString());
        ctx.Response.Clear();
    }
Run Code Online (Sandbox Code Playgroud)

我已经尝试重新安装程序集但无济于事.

2 的SO问题,但没有解决办法 …

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

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

jQuery.Load()不会在ASP.NET MVC2中触发Request.IsAjaxRequest

我正在使用Jquery完整的日历插件,我希望能够点击一个事件,并通过AJAX将事件的详细信息填充到id为#details的div中.

这是我正在尝试加载的控制器操作.调试时,操作不会将传入请求视为AJAX并返回完整视图而不是部分视图.如果将完整视图调用与局部视图相同,这是否重要?即; 'Details.aspx'和'Details.ascx'?

public ActionResult Details(int id)
    {
        Pol_Event pol_Event = eventRepo.GetEvent(id);
        ViewData["EventTypes"] = et.GetEventType(id);
        if (pol_Event == null)
            return View("NotFound");
        else
        {
            if(HttpContext.Request.IsAjaxRequest()){
                return PartialView("Details");
            }
            else
                return View(pol_Event);

        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的jquery代码.我错过了在eventClick函数中没有正确使用.load()吗?日历插件的开发人员已确认eventClick与AJAX无关,因此错误必须在我的代码中.

$(document).ready(function() {
            $('#calendar').fullCalendar({

                header: {
                    left: 'prev,next today',
                    center: 'title',
                    right: 'month,agendaWeek,agendaDay'
                },

                events: "/Events/CalendarData",
                allDayDefault: false,

                selectable: true,
                eventClick: function(event) {
                    $('details').load(event.url);
                },
                eventRender: function(event, element) {
                    element.qtip({
                        content: event.title + " @ " + event.venue,

                        position: {
                            corner: {
                                target: 'topLeft',
                                tooltip: 'bottomLeft'
                            }
                        } …
Run Code Online (Sandbox Code Playgroud)

ajax asp.net-mvc jquery fullcalendar

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

使用HTTPStatusCodeResult和jQuery的自定义错误消息

我有一个控制器动作,它将一些JSON结果返回给jQuery Full Calendar插件.HTTPStatusCodeResult如果出现错误,我返回一个自定义错误消息,但我无法显示自定义错误消息.警报框中显示的所有内容都是默认的Http状态(即:'禁止'或'内部服务器错误')

返回错误消息的控制器代码

else if(id != CurrentUser.UserId)
{
    return new HttpStatusCodeResult(403, "You are not authorised to view this.");
}
else
{
    return new HttpStatusCodeResult(500, "There was an error on the server.");
}
Run Code Online (Sandbox Code Playgroud)

jQuery代码

$(document).ready(function () {
             $('#calendar').fullCalendar({
                 header: {
                     left: 'prev,next today',
                     center: 'title',
                     right: 'month,agendaWeek,agendaDay'
                 },
                 height: 600,
                 eventSources: [{
                     url: events,
                     type: 'Get',
                     error: function(response, status, error) {
                         alert(response.statusText);
                     }
                 }],
                 allDayDefault: false,
                 selectable: true,
                 eventClick: function (event) {
                     if (event.url) {
                         $('#details').load(event.url);
                     }
                 },
Run Code Online (Sandbox Code Playgroud)

.net c# jquery http asp.net-mvc-3

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

'已导入具有等效标识的多个程序集' - Azure部署

'Multiple assemblies with equivalent identity have been imported'部署到Azure时出现错误.

这是部署日志

    Command: "D:\home\site\deployments\tools\deploy.cmd"
Handling .NET Web Application deployment.
MSBuild auto-detection: using msbuild version '14.0' from 'D:\Program Files (x86)\MSBuild\14.0\bin'.
All packages listed in packages.config are already installed.
  Filanthropy.Model -> D:\home\site\repository\Filanthropy.Model\bin\Release\Filanthropy.Model.dll
CSC : error CS1703: Multiple assemblies with equivalent identity have been imported: 'D:\home\site\repository\packages\System.Runtime.InteropServices.4.1.0\lib\net462\System.Runtime.InteropServices.dll' and 'D:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\Facades\System.Runtime.InteropServices.dll'. Remove one of the duplicate references. [D:\home\site\repository\Filanthropy.Core\Filanthropy.Core.csproj]
CSC : error CS1703: Multiple assemblies with equivalent identity have been imported: 'D:\home\site\repository\packages\System.Runtime.Extensions.4.1.0\lib\net462\System.Runtime.Extensions.dll' and 'D:\Program Files (x86)\Reference …
Run Code Online (Sandbox Code Playgroud)

.net c# deployment csproj azure

7
推荐指数
0
解决办法
861
查看次数

SQL Server CE 4的数据库绘图工具

虽然VS2010中有GUI工具用于输入数据,对SQL CE4 db编写查询等,但似乎没有办法在digram中可视化数据库.

所以我的问题是

A)我错过了VS2010工具中的sql Server CE4

b)我可以使用SMSS来绘制SQL CE4数据库.我已经尝试了但它不允许打开数据库.有插件吗?

谢谢.

ssms diagramming visual-studio-2010 sql-server-ce

6
推荐指数
1
解决办法
4150
查看次数

NuGet:远程服务器返回错误(403)禁止

每当我尝试安装包时,我都会收到此错误

remote server returned an Error(403) Forbidden
Run Code Online (Sandbox Code Playgroud)

我可以使用其他命令,例如get-package -ListAvailable,并发现是否有已安装软件包的任何更新,但无法通过Nuget实际安装任何内容.

对于命令行和包管理器GUI,这是相同的.

我正在使用Visual Web Developer 2010.

我也处于企业环境中,我怀疑这是主要问题.

任何可能的指针?

.net nuget nuget-package

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

Web.Config Transformations with Octopus Deploy

I want to apply web.config transformations with Octopus Deploy, but only on the production environment.

I don't want to create separate configs for all of our other environments.

At the moment i'm using this following custom expression but it doesn't apply the transformation

enter image description here

octopus-deploy web.config-transform

6
推荐指数
1
解决办法
7588
查看次数

DbContext和连接池

在我继承的应用程序中,这是在基本控制器中,应用程序中的每个其他控制器都继承自.

public BaseController()
    {
        db = new MyDbContext();

        db.Database.Log = s => Debug.Write(s);
    }

 public MyDbContext()
        : base("name=MyDbContext")
    {
        // hack to force Visual Studio to deploy the Entityframework.SqlServer package 
        var instance = SqlProviderServices.Instance;
    }
Run Code Online (Sandbox Code Playgroud)

由于应用程序的设计方式,每个请求至少创建2个上下文.(这是一个MVC应用程序,每个页面都调用HomeController以及为特定页面调用其他控制器.)

我的问题是什么时候DbContext创建到SQL Server的连接?是在创建上下文时,还是仅在执行查询时?

如果它是前者,那么我将使用两倍于SQL服务器的连接数量而不是需要的数量,如果是后者那么它可能不是太大的问题.

我不认为我能在不久的将来重构这一点,当然也不是没有道理的.我应该注意这个设计有哪些潜在的缺陷?

实体框架6.1.3

.net c# sql-server entity-framework dbcontext

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

使用AutoPoco生成依赖于另一个值的值

我正在使用伟大的.NET库AutoPoco来创建测试和种子数据.

在我的模型中,我有2个日期属性,StartDate和EndDate.

我希望EndDate在开始日期后3小时.

我为下面的autopoco创建了一个自定义数据源,它返回一个最小和最大日期之间的随机日期时间

class DefaultRandomDateSource : DatasourceBase<DateTime>
{
    private DateTime _MaxDate { get; set; }
    private DateTime _MinDate { get; set; }
    private Random _random { get; set; }


    public DefaultRandomDateSource(DateTime MaxDate, DateTime MinDate)
    {
        _MaxDate = MaxDate;
        _MinDate = MinDate;

    }

    public override DateTime Next(IGenerationSession session)
    {
        var tspan = _MaxDate - _MinDate;
        var rndSpan = new TimeSpan(0, _random.Next(0, (int) tspan.TotalMinutes), 0);


        return _MinDate + rndSpan;
    }

}
Run Code Online (Sandbox Code Playgroud)

但是在AutoPoco的配置中,如何在自动生成的开始日期后3小时让我的EndDate说出来?

这是autopoco配置

 IGenerationSessionFactory factory = AutoPocoContainer.Configure(x =>
            { …
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing autopoco

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