小编Jef*_*mer的帖子

如何获取ASP.NET MVC Ajax响应重定向到新页面而不是将视图插入UpdateTargetId?

我正在使用Ajax.BeginForm来创建一个表单,它将ajax回发到某个控制器操作,然后如果操作成功,用户应该被重定向到另一个页面(如果操作失败,那么将显示一个状态消息AjaxOptions UpdateTargetId).

using (Ajax.BeginForm("Delete", null,
        new { userId = Model.UserId },
        new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "DeletingDiv" },
        new { name = "DeleteForm", id = "DeleteForm" }))
   {
    [HTML DELETE BUTTON]
   }
Run Code Online (Sandbox Code Playgroud)

如果删除成功,我将返回重定向结果:

[Authorize]
public ActionResult Delete(Int32 UserId)
{
    UserRepository.DeleteUser(UserId);
    return Redirect(Url.Action("Index", "Home"));
}
Run Code Online (Sandbox Code Playgroud)

但是Home Controller Index视图已加载到UpdateTargetId中,因此我最终得到了页面中的页面.我正在考虑的两件事:

  1. 要么我正在设计这个错误,应该以不同的方式处理这种类型的操作(不使用ajax).
  2. 而不是返回Redirect结果,返回一个视图,其中包含javascript,在客户端进行重定向.

有人对#1发表评论吗?或者,如果#2是一个很好的解决方案,那么"重定向javascript视图"会是什么样子?

c# ajax asp.net-mvc asp.net-mvc-ajax

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

如何将表从一个SQL Server数据库移动到另一个?

我们有一个数据库已经增长到大约50GB,我们想从该数据库中提取一组特定的表(大约20个)并将它们移动到一个新的数据库中.所有这些都将在同一个SQL Server上.我们想要提取的表大约是12GB的空间(6GB数据,6GB索引).

我们如何将表从一个数据库移动到另一个数据库,但是确保在新数据库中创建的表是原始数据(索引,键等)的精确副本?理想情况下,我想从SQL Server Management Studio中复制/粘贴,但我知道这不存在,那么我的选择是什么?

sql sql-server sql-server-2005

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

我应该使用SQL Server关键字作为列名吗?

我正在设计一个数据库,最近在DayOfWeek表中命名了一个列,完全忘记了DayOfWeek是SQL Server中的内置函数.现在我决定是否应该保持原样并使用方括号引用该列[DayOfWeek]或更改列名以避免将来发生任何冲突.我不太喜欢这个项目所以改变它并不太难.我脑子里的争论是,DayOfWeek的专栏名称对其目的非常有意义,所以我真的想用它......但这是一个保守的词......并且可能在将来引起痛苦(特别是如果在引用列时,我总是必须在它周围放置方括号.

每个人都在想什么?

sql-server naming naming-conventions

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

为什么Visual Studio无法解析我的CSS类名?

每当我在Visual Studio中工作时,我总是发现它不会解析我的html中的css类名.CSS类名称将在Visual Studio中以绿色波浪线显示,但在浏览器中查看时页面将呈现正常.所以我知道在我的母版页中正确引用了css文件,但Visual Studio只是无法解决它.此外,设计视图也不会显示任何CSS样式.

css asp.net visual-studio

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

经典ASP异常记录(500和500.100错误)

我有一个客户端在IIS7上运行经典的asp站点.为了查看经典asp页面中的任何错误,我修改了IIS7错误页面,将500和500.100错误修改为一个特殊的经典asp页面,找到最后一个错误,然后适当地记录它以供将来使用(几乎是Elmah为asp.net).我们在IIS7上看到的是来自异常记录经典asp页面本身的错误消息.它似乎是500错误; 500.100错误似乎没有任何问题.

所以有两个问题:

  • 如何在此网站上导致普通的旧500错误(不是500.100)来测试经典的asp页面异常日志记录?
  • 有没有更好的方法来捕获和记录IIS7中经典asp页面的异常?

asp-classic

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

使用(502)Bad Gateway后,WCF服务调用在30秒后始终失败

我们有一个WCF服务(BasicHttpBinding),它将在30秒后始终失败.30秒内的通话完成且没有错误.超过30秒的任何事情都会因502 Bad Gateway异常而失败:

System.Net.WebException:远程服务器返回错误:(502)Bad Gateway.

但是WCF调用继续在后台运行(并最终完成).我们已经确认BasicHttpBinding - Binding - sendTimeout(在web.config中)大于30秒(实际设置为5分钟).我们在客户端和服务器上都证实了这一点.

这是完整的堆栈跟踪:

System.ServiceModel.ProtocolException: The remote server returned an unexpected response: (502) Bad Gateway. ---> System.Net.WebException: The remote server returned an error: (502) Bad Gateway.
   at System.Net.HttpWebRequest.GetResponse()
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   --- End of inner exception stack trace ---

Server stack trace: 
   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException, ChannelBinding channelBinding)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, …
Run Code Online (Sandbox Code Playgroud)

c# asp.net wcf

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

我应该使用nvarchar(max)代替nvarchar(64)列还是作为附加列?

我正在构建一个表来跟踪数据库中特定对象的历史记录.目前我有以下列:

HistoryId int IDENTITY(1,1) NOT NULL
HistoryDate datetimeoffset(7) NOT NULL 
HistoryTypeId int NOT NULL
HistoryDetails nvarchar(max) NULL
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,每个历史项目都将通过HistoryTypeId自解释,因此HistoryDe​​tails将为Null或非常小.但对于几种历史类型,细节数据会很大.是否可以使用nvarchar(max)表示所有记录,或者我应该将它拆开并为历史类型添加一个额外的列,这些列需要超过64个字符(见下文)?粗略估计,80%-90%的记录不需要超过64个字符的详细信息,表中将有数百万条记录.

HistoryId int IDENTITY(1,1) NOT NULL
HistoryDate datetimeoffset(7) NOT NULL 
HistoryTypeId int NOT NULL
HistoryDetails nvarchar(64) NULL
HistoryDetailsMore nvarchar(max) NULL
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server database-design data-modeling

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

每隔X分钟自动触发一次asp.net mvc ajax刷新

我的页面上有一个刷新按钮,它将执行一个asp.net mvc ajax帖子来更新页面上的一些内容.刷新/更新过程可以长时间运行(大约10-20秒).现在,用户必须手动单击"刷新"按钮才能触发刷新.我想每隔X分钟自动触发一次刷新.几乎我想触发下面这个相同的Ajax帖子(显示LoadingElementId也很好).

<% using (Ajax.BeginForm("Refresh", null, 
                   new {userId=Model.UserId},
                   new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "RefreshingDiv" },
                   null))
               {
            %>

                    <button type="submit">
                        <img src="/zsys/img/icons/refresh.png" alt="Refresh" />
                        Refresh
                    </button>

            <% } %>
Run Code Online (Sandbox Code Playgroud)

我如何强制asp.net mvc ajax回发?

asp.net-mvc asp.net-mvc-ajax

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