给出一个选择
<select id="Myselect">
<option value="-1">Please Select<option>
<option value="1">Selection 1<option>
<option value="2">Selection 2<option>
</select>
Run Code Online (Sandbox Code Playgroud)
使用JQuery确定select中是否存在值X选项的最佳方法是什么?
我认为我们必须错过一个技巧,因为我们发现使用IIS Express与团队非常痛苦.
问题是IIS Express的applicationhost.config存储在每个人的MyDocuments文件夹中,因此分离到Visual Studio解决方案而不是源代码控制.
因此,当我们进行更改时,每个人都必须在其计算机上手动更新applicationhost.config.
更新visual studio对applicationhost.config文件的操作失败,因为我们没有使用localhost,我们有主机条目为我们的环境提供不同的名称.


有没有更好的办法?
我们在MVC 5.1.3应用程序中经常发生此错误,当它确实发生时,用户必须刷新页面并且它消失,因此它是间歇性的问题.
我们发现它很难诊断,因为它似乎发生在框架内部.关于在哪里看的任何想法?
这是完整的堆栈:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Web.Mvc.FilterProviderCollection.GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
at System.Web.Mvc.ControllerActionInvoker.GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state)
at System.Web.Mvc.Controller.<BeginExecuteCore>b__1c(AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout)
at System.Web.Mvc.Async.AsyncResultWrapper.Begin[TState](AsyncCallback callback, Object callbackState, BeginInvokeDelegate`1 beginDelegate, EndInvokeVoidDelegate`1 endDelegate, TState invokeState, Object tag, Int32 timeout, SynchronizationContext callbackSyncContext)
at …Run Code Online (Sandbox Code Playgroud) 如何在LINQ中编写子选择.
如果我有一个客户列表和一个订单列表,我希望所有没有订单的客户.
这是我的伪代码尝试:
var res = from c in customers
where c.CustomerID ! in (from o in orders select o.CustomerID)
select c
Run Code Online (Sandbox Code Playgroud) 在尝试避免使用JavaScript多年之后,Iv开始在MVC asp.net中使用JQuery进行验证,因为似乎没有正式的验证方法,我很惊讶JQuery有多好.
首先是有一种方法让intellisense为JQuery及其验证插件工作,这样我就不必学习api了吗?
其次,我如何为此创建验证摘要,它当前将错误附加到文本框的右侧:
<script type="text/javascript">
$().ready(function() {
$("#CreateLog").validate({
rules: {
UserName: {
required: true,
minLength: 2,
}
},
messages: {
UserName: {
required: "Please enter a username",
minLength: "Your username must consist of at least 2 characters",
}
}
});
});
</script>
<form id="CreateLog" action="Create" method="post" />
<label>UserName</label><br />
<%=Html.TextBox("UserName")%>
<br />
<div class="error"> </div>
<input type=submit value=Save />
</form>
Run Code Online (Sandbox Code Playgroud)
我尝试将其添加到脚本中:
errorLabelContainer: $("#CreateLog div.error")
Run Code Online (Sandbox Code Playgroud)
这到html:
<div class="error"> </div>
Run Code Online (Sandbox Code Playgroud)
但这没效果.
我一直在试验这个伟大的工具,Mvc MiniProfiler.
我不希望用大量Step命令乱丢我的所有视图,所以我想在每个动作调用中使用探查器.馊主意?这是我到目前为止所尝试的:
public abstract class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
var profiler = MiniProfiler.Current;
using (profiler.Step("Action: "+filterContext.ActionDescriptor.ActionName))
{
base.OnActionExecuting(filterContext);
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我认为这不是我想做的事情吗?我想我需要启动分析器OnActionExecuting并将其停止OnResultExecuted.考虑到探查器旨在与using声明一起使用,我该如何做到这一点.
我想创建一个手动触发的Team City构建,将我们的网站部署到其实时环境中.我这样做犹豫不决,因为我担心人们不小心触发了构建.
我知道我可以通过阻止大多数人访问或者使部署过程稍微困难来解决这个问题,例如两个步骤.
有没有更好的技术?有可能有'你确定吗?' 风格对话?
在使用其他技术(CSLA和Subsonic)几年后,我回来使用NHibernate ,我发现查询有点令人沮丧,特别是与Subsonic相比时.我想知道人们使用的其他方法是什么?
Hibernate查询语言对我来说感觉不对,看起来太像编写SQL了,在我看来这是使用ORM工具的原因之一,所以我不需要,而且它全部是XML,这意味着它是重构不好,只会在运行时发现错误?
标准查询,似乎不够流畅.
我已经读过 Ayende的 NHibernate查询生成器,是一个有用的工具,人们正在使用它?还有什么呢?
任何好的策略,代码片段等,以防止URL操作?
例如,我有这个URL,http://localhost/profile/edit/5id可以很容易地改为任何东西,因此人们可以编辑他们不应该的配置文件.
以下是我想到的一些想法,但它们都有缺点:
将我的系统更改为使用GUID主键 - 几乎不可能猜出键 - 但人们仍然可以从应用程序的某个部分获取GUID,然后在另一个URL中使用它.
使用TempData存储密钥 - 防止在以后使用时发送的URL.
在显示页面之前在控制器中执行检查 - 意味着您必须在任何地方执行"管理"代码以检查操作.
什么是最好的事情?其中一个或其他什么?
有人写过吗?我希望它表现得像一个链接,但看起来像一个按钮.只有一个按钮的表单不会这样做我不想要任何POST.
asp.net-mvc ×5
jquery ×2
c# ×1
collections ×1
iis-express ×1
linq ×1
nhibernate ×1
orm ×1
outer-join ×1
security ×1
teamcity ×1
url ×1
validation ×1