我有一个带有图像链接的网格(Infragistics JQuery网格)的视图(Index.cshtml).如果用户单击此链接,将调用以下jquery函数:
function ConfirmSettingEnddateRemarkToYesterday(remarkID) {
//Some code...
//Call to action.
$.post("Home/SetEnddateRemarkToYesterday", { remarkID: remarkID }, function (result) {
//alert('Succes: ' + remarkID);
//window.location.reload();
//$('#remarksgrid').html(result);
});
}
Run Code Online (Sandbox Code Playgroud)
注释掉你可以看到我自己的警报和2次刷新视图的尝试.location.reload()有效,但对于浏览器来说基本上是太多了..html(result)在remarksgrid div中发布整个index.cshtml + Layout.cshtml double.所以这是不正确的.
这是它调用的动作(SetEnddateRemarkToY yesterday):
public ActionResult SetEnddateRemarkToYesterday(int remarkID) {
//Some logic to persist the change to DB.
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
这是它重定向到的操作:
[HttpGet]
public ActionResult Index() {
//Some code to retrieve updated remarks.
//Remarks is pseudo for List<Of Remark>
return View(Remarks);
}
Run Code Online (Sandbox Code Playgroud)
如果我在成功的AJAX帖子之后没有执行window.location.reload,那么视图将永远不会重新加载.我是MVC的新手,但我确信有更好的方法可以做到这一点.我不是在理解一些基本的东西.也许正朝着正确的方向努力?先感谢您.
我在文本框中使用了"readonly"属性,使文本框不可编辑,我可能知道如何在单击按钮时禁用readonly属性.我们可以使用任何脚本吗?
<input type="text" name="" value="" readonly="readonly"/><br/>
<input type="submit" name="" value="update" onclick="" />
Run Code Online (Sandbox Code Playgroud) 我已成功找到月份的全名,但我想要一个月份的简称.谁能帮我.我正在使用Moment.js我已经成功找到了这个月但我希望简短形式
这里是我的代码:
var date = '<?php echo date("Y-m-d") ?>';
var Month = moment(date, 'YYY-MM-DD').format('DD/MMMM')
console.log(Month);
Run Code Online (Sandbox Code Playgroud)
它回报了我06/February,但我想要06/Feb
提前致谢 :)
我是jQuery的新手.我想使用按钮单击事件来引发警告框.这是我的代码,但它似乎无法工作.救命!请
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Jquery Basic</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('submit1').click(function() {
alert("JQuery Running!");
)};
});
</script>
</head>
<body>
<a>JQuery Test Page</a><br>
<input id="submit1" type="button" value="Submit"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有一个像这样的选择框
<select class="cars" onChange="carName()">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果正在更改下拉值,则carName函数正在调用并按预期工作.如果假设我像这样使用jQuery更改值
$('.cars').val('Audi');
Run Code Online (Sandbox Code Playgroud)
我希望carName()调用该函数.我怎么能这样做?
我已经在这个问题上工作了好几天,并且已经在SO和网络上进行了研究,并且无法找到帮助我解决它的材料.
我正在尝试创建一个天气应用程序,可以切换华氏温度和摄氏温度之间显示的天气单位.我首先在Fahrenheit中附加天气,然后我创建了一个事件处理程序,它根据该元素当前是显示"F"还是"C"来有条件地更改相关元素的内部内容.
事实上,我的应用程序成功加载了华氏温度,并在点击时切换到摄氏温度,但它不会切换回华氏温度.我认为事件的注册方式存在一些问题,但对于我的生活,我无法弄明白.
这是我的代码:
var fahr = document.createElement("a");
fahr.attr = ("href", "#");
fahr.className = "tempUnit";
fahr.innerHTML = tempf + "°F" + "<br/>";
$("#currentWeather").append(fahr);
var cels = document.createElement("a");
cels.attr = ("href", "#");
cels.className = "tempUnit";
cels.innerHTML = tempc + "°C" + "<br/>";
var units = document.getElementsByClassName("tempUnit");
$(".tempUnit").click(function() {
if (units[0].innerHTML.indexOf("F") != -1) {
$(".tempUnit").replaceWith(cels);
} else {
$(".tempUnit").replaceWith(fahr);
}
})
Run Code Online (Sandbox Code Playgroud)
非常感谢你提前!如有必要,很乐意提供更多信息.
我无法解决这个问题.我正在为大学做一些修改练习,并希望在2天之前通过我的考试.
我尝试了一些事情(最后我会发布).请善待,这是我的第一个数据库主题,所以我的尝试对你来说似乎很愚蠢.
问题如下:哪位艺术家目前拥有最多的节目?显示艺术家的名字和姓氏及其地址.ORDER BY子句不能使用.写一个SQL语句.使用子查询.
数据库中的相关表:
Shows (ShowName, ArtistId, ShowStartDate, ShowEndDate)
Artists (ArtistId, FirstName, FamilyName, Address, PhoneNum)
Run Code Online (Sandbox Code Playgroud)
我们假设ArtistId,ShowStartDate,FirstName,FamilyName和Address不能为null.
现在,我认为我必须计算每个艺术家目前的节目数量.然后,获得拥有/拥有最多的艺术家的ArtistId.使用ArtistId检索艺术家详细信息(名称和地址).
我得到了这个(这是非常错误的):
SELECT FirstName, FamilyName, Address
FROM Artists
WHERE ArtistId = (SELECT ArtistId
FROM Shows
WHERE ArtistId = (SELECT MAX(Counted)
FROM (SELECT ArtistId, COUNT(ArtistId) AS Counted
FROM Shows
WHERE ShowEndDate IS null
GROUP BY ArtistId)
GROUP BY ArtistId));
Run Code Online (Sandbox Code Playgroud)
嗯,我知道
SELECT ArtistId, COUNT(ArtistId)
FROM Shows
WHERE ShowEndDate IS null
GROUP BY ArtistId
Run Code Online (Sandbox Code Playgroud)
给我一个表格,列出每个ArtistId被列出的次数.这很好.但是从这个结果表中,我需要获得具有最高计数的那个的ArtistId /.
这就是我迷失的地方.
任何人都可以轻松一点?
(至于我使用的DBMS:我们必须使用由大学创建和提供的DBMS.它是非常基本的SQL.比Access 2010简单).
谢谢
(如果你提供答案[谢谢你,谢谢你]你能否简要解释其背后的原因?)
将我的项目从MVC4升级到MVC5后,我得到以下错误.我按照如何将ASP.NET MVC 4和Web API项目升级到ASP.NET MVC 5和Web API 2
Assembly 'WebServices.WebApi.External, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
如何解决这个问题?
嗨,大家好我从以下代码发布用户输入有问题.只有在单击提交按钮两次后才会发布信息.请查看我的代码并告诉我是否有任何需要更改的内容.
先感谢您
<script>
function validate(form) {
fail = validateName(form.name.value)
fail += validateEmail(form.email.value)
fail += validateCity(form.city.value)
if (fail == "") {
$(function () {
$('#submitbtn').click(function (event) {
event.preventDefault();
var form = $(this).closest('form'),
action = form.attr('action');
$.post(action, form.serialize(), function (data) {
$('#errors').html("You have been successfully subscribed to our newsletter.");
})
});
});
}
else {
document.getElementById('errors').innerHTML = fail;
}
return false
}
function validateName(field) {
if (field == "") return "No name was entered.<br/>"
else if (field.length < 3) return "Please enter …Run Code Online (Sandbox Code Playgroud) 我使用一个有角度的$ http拦截器来检查ajax请求是否返回401(未经过身份验证).如果响应为401,则原始请求排队,显示登录表单,登录成功后,将重试排队的请求.这已经与$ http一起使用了,角度拦截器的来源是:
define('common.service.security.interceptor', ['angular'], function() {
'use strict';
angular.module('common.service.security.interceptor', ['common.service.security.retryQueue'])
.factory('securityInterceptor', [
'$injector',
'$location',
'securityRetryQueue',
function($injector, $location, securityRetryQueue) {
return function(promise) {
var $http = $injector.get('$http');
// catch the erroneous requests
return promise.then(null, function(originalResponse){
if(originalResponse.status === 401){
promise = securityRetryQueue.pushRetryFn('Unauthorized', function retryRequest(){
return $injector.get('$http')(originalResponse.config);
});
}
return promise;
});
};
}
])
// register the interceptor to the angular http service. method)
.config(['$httpProvider', function($httpProvider) {
$httpProvider.responseInterceptors.push('securityInterceptor');
}]);});
Run Code Online (Sandbox Code Playgroud)
如何使用这个有角度的$ http拦截器创建breeze请求?
Breeze为文件"Breeze/Adapters/breeze.ajax.angular.js"中的angular $ http服务提供了一个包装器.所以第一个想法是告诉微风使用它:
breeze.config.initializeAdapterInstance("ajax", "angular", true);
Run Code Online (Sandbox Code Playgroud)
调试angular.js,它显示breeze现在实际上使用$ http,但它不执行上面注册的拦截器.在$ http里面,有一个数组"reversedInterceptors",它包含已注册的拦截器.我将此数组记录到控制台.如果我使用$ http,则此数组的长度为1(如预期的那样),但在使用breeze发出请求时,此数组为空. …
javascript ×7
jquery ×6
html ×3
ajax ×2
angularjs ×1
asp.net-mvc ×1
breeze ×1
button ×1
momentjs ×1
onchange ×1
select ×1
sql ×1
validation ×1