我正在使用一个名为的jQuery库 bootbox
bootbox.dialog({
title: "Group",
buttons: {
success: {
label: "OK",
className: "btn-success",
callback: function () {
postForm();
}
}
}
});
function postForm() {
$.ajax({
type: "POST",
url: $("#add-group").val(),
data: $("#form").serialize(),
success: function (data) {
return true;
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
return false;
}
});
}
Run Code Online (Sandbox Code Playgroud)
当我点击"确定"按钮时,除非我返回如下的假值:
callback: function () {
return false;
}
Run Code Online (Sandbox Code Playgroud)
对话框将关闭.
在回调函数中,我正在调用postForm哪个函数对我的服务器端进行AJAX调用以执行某些操作.根据该操作的结果,我想保持对话框仍然打开.
但是因为它是一个AJAX调用,并且结果需要一段时间才能返回,所以postForm()无论我的结果如何,对话框都会立即关闭.
如何告诉javascript等待ajax调用的结果?
如果我能做到这样的话会很棒:
callback: function () {
var result = await postForm();
return result;
}
Run Code Online (Sandbox Code Playgroud) 我有以下Web Api方法签名
public HttpResponseMessage GetGroups(MyRequest myRequest)
Run Code Online (Sandbox Code Playgroud)
在客户端中,如何将MyRequest传递给调用方法?
目前,我有这样的事情
var request = new MyRequest()
{
RequestId = Guid.NewGuid().ToString()
};
var response = client.GetAsync("api/groups").Result;
Run Code Online (Sandbox Code Playgroud)
我该如何传递request给GetAsync?
如果这是一种POST方法,我可以做这样的事情
var response = client.PostAsJsonAsync("api/groups", request).Result;
Run Code Online (Sandbox Code Playgroud) 我是 Python 新手,正在学习视频教程。
所以这是代码片段
from urllib.request import urlopen
with urlopen('http://sixty-north/c/t.txt') as story:
story_words = []
for line in story:
line_words = line.decode('utf-8').split()
for word in line_words:
story_words.append(word)
Run Code Online (Sandbox Code Playgroud)
我可以http://sixty-north.com/c/t.txt在我的浏览器中访问。
但是,当我在命令提示符中键入以下内容时:出现python words.py此错误:
C:\New folder>python words.py
Traceback (most recent call last):
File "C:\Python33\lib\urllib\request.py", line 1248, in do_open
h.request(req.get_method(), req.selector, req.data, headers)
File "C:\Python33\lib\http\client.py", line 1065, in request
self._send_request(method, url, body, headers)
File "C:\Python33\lib\http\client.py", line 1103, in _send_request
self.endheaders(body)
File "C:\Python33\lib\http\client.py", line 1061, in endheaders
self._send_output(message_body)
File "C:\Python33\lib\http\client.py", line 906, …Run Code Online (Sandbox Code Playgroud) 我正在按照这个关于启动SignalR项目的快速教程,在我的Hub类中,我有以下内容
using Microsoft.AspNet.SignalR.Hubs;
namespace MvcApplication8.Hubs
{
public class ChatHub : Hub
{
public void BroadcastMessage(string message)
{
Clients.writeMessage(message);
}
}
}
Run Code Online (Sandbox Code Playgroud)
客户代码:
$(document).ready(function () {
var chat = $.connection.chatHub;
chat.writeMessage = function(msg) {
$("#messages").append("<li>" + msg + "</li>");
};
$("#buttonSubmit").click(function () {
chat.broadcastMessage($("#txtInput").val());
});
$.connection.hub.start();
});
Run Code Online (Sandbox Code Playgroud)
但是我收到编译时错误说:
'Microsoft.AspNet.SignalR.Hubs.HubConnectionContext'不包含'writeMessage'的定义,并且没有扩展方法'writeMessage'接受类型'Microsoft.AspNet.SignalR.Hubs.HubConnectionContext'的第一个参数可以找到(你是吗?)缺少using指令或程序集引用?)
出了什么问题?
我 使用包管理器控制台"Install-Package Microsoft.AspNet.SignalR -Pre" 从http://nuget.org/packages/microsoft.aspnet.signalr将SignalR安装到我的项目中
我有一个MVC项目,有多个页面.
我有一个漫长的运行过程,它会更新客户端的进度.但是,此更新仅发送给单个客户端,而不是向所有客户端广播.
Clients.Client(ConnectionId).sendMessage(msg);
Run Code Online (Sandbox Code Playgroud)
在我的layout.cshtml中,这是我连接到集线器的方式
var serverHub = $.connection.notifier;
window.hubReady = $.connection.hub.start(function () { });
Run Code Online (Sandbox Code Playgroud)
问题是,当我导航到另一个页面时,我不再收到来自signalr的消息,因为连接ID已更改.
我应该如何解决此问题,以便我的信号器中心仍然可以向单个客户端发送消息,同时客户端在页面之间导航.
我目前正在使用Crystal Reports for VS 2012在64位PC上使用VS 2012.
安装Crystal Reports for VS 2012后,我注意到有两个主要文件夹:
我要部署的应用程序可以部署在32位和64位PC上,我应该参考哪些Crystal Reports DLL?x86还是x64?
或者我需要有两个独立的解决方案,一个是x86 dlls参考,另一个是x64?
更新:
我所做的是在开发时引用x86 dll,并在我的所有部署机器上安装x86可再发行版本的crystal报表,无论其架构如何.希望能帮助你们中的一些人
根据这里的wiki文章:https://github.com/SignalR/SignalR/wiki/Hubs
我可以通过我的集线器获取我的MVC应用程序来广播消息:
$(function () {
// Proxy created on the fly
var chat = $.connection.chatterBox;
// Declare a function on the chat hub so the server can invoke it
chat.client.addMessage = function (message) {
$('#messages').append('<li>' + message + '</li>');
};
// Start the connection
$.connection.hub.start().done(function () {
$("#broadcast").click(function () {
// Call the chat method on the server
chat.server.send($('#msg').val());
});
});
});
Run Code Online (Sandbox Code Playgroud)
我的Hub位于一个名为ServerHub.dll的独立DLL中,如下所示
namespace ServerHub
{
public class ChatterBox : Hub
{
public void Send(string message)
{ …Run Code Online (Sandbox Code Playgroud) 我在网上看到的大多数示例都显示了WinForms/WPF上下文中的对象更改跟踪.或者,如果它在Web上,则使用连接对象,因此,可以跟踪对每个对象所做的更改.
在我的场景中,对象一旦离开数据层就会断开连接(映射到WCF中的业务对象,并映射到MVC应用程序上的DTO)
当用户对MVC上的对象进行更改(例如,更改1字段属性)时,如何从View中将该更改一直发送到DB?
我想有一个审计表,它保存对特定对象所做的更改.我想要保存的是仅对我们修改的属性的对象的前后值
我可以想到几种方法来做到这一点
1)为MVC层(或javascript中的)中的所有模型的每个属性实现一个IsDirty标志.将该信息一直传播回服务层,最后传播到数据层.
2)在服务层中使用这种更改跟踪机制会很好,但是如何在从MVC传回修改后的值之后跟踪"原始"值?
3)数据库触发器?但我不知道如何开始.这甚至可能吗?
对于n层mvc-wcf解决方案,是否有任何已知的对象更改跟踪实现?
审计表的示例:
Audit table
Id Object Property OldValue NewValue
--------------------------------------------------------------------------------------
1 Customer Name Bob Joe
2 Customer Age 21 22
Run Code Online (Sandbox Code Playgroud) c# asp.net-mvc change-tracking inotifypropertychanged n-tier-architecture
我有以下功能,可以在我测试的几台PC上正常工作.我已经在Chrome,IE和Firefox上进行了测试,没有任何问题.但是,有一个特定的PC(运行Chrome),在该行上抛出此错误"Uncaught TypeError:无法读取未定义的属性'文档':
win.document.write(data);
Run Code Online (Sandbox Code Playgroud)
可能是因为胜利是空的吗?
如果是这样,为什么在这台特定的PC上就是这种情况?
是否需要设置一些Chrome设置?
方法:
function viewReport() {
console.info('generating event report');
var frmData = $('#frmEventReport').serializeArray();
var rptName = 'EventReport' + Math.floor((Math.random() * 100) + 1);
console.info('generated random report name ' + rptName);
$.ajax({
//type: "GET",
timeout: 120000,
url: '@Url.Action("EventReport", "Reports")',
data: frmData,
success: function (data) {
console.info('succesfully called back');
var win = window.open('', rptName, '_blank');
console.info('opening window');
win.document.write(data);
},
error: function (x, y, z) {
console.info(x + ' ' + y + ' ' + z);
}
}); …Run Code Online (Sandbox Code Playgroud) 假设我有以下匿名类型
var g = records.Select(r => new
{
Id = r.CardholderNo,
TimeIn = r.ArriveTime,
TimeOut = r.LeaveTime,
});
Run Code Online (Sandbox Code Playgroud)
是否可以执行如下操作:
var g = records.Select(r => new
{
Id = r.CardholderNo,
if (condition)
{
TimeIn = r.ArriveTime;
},
TimeOut = r.LeaveTime,
//many more properties that I'd like to be dependant on conditions.
});
Run Code Online (Sandbox Code Playgroud)
如何根据条件实现匿名类型?
asp.net-mvc ×5
c# ×5
.net ×3
signalr ×3
asp.net ×2
javascript ×2
32bit-64bit ×1
64-bit ×1
async-await ×1
bootbox ×1
browser ×1
deployment ×1
dom ×1
nuget ×1
python ×1
python-3.x ×1
rest ×1
web-services ×1
websocket ×1