我遇到的问题是页面加载速度如此之快,以至于jquery在后续脚本调用之前尚未完成加载.有没有办法检查jquery的存在,如果它不存在,请稍等片刻,然后再试一次?
在回答下面的答案/评论时,我发布了一些标记.
情况...... asp.net主页和子页面.
在母版页中,我引用了jquery.然后在内容页面中,我引用了特定于页面的脚本.当加载特定于页面的脚本时,它会抱怨"$ is undefined".
我在标记的几个点放置警报,以查看触发事件的顺序,并确认它按此顺序触发:
这是主页顶部的标记:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="SiteMaster" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Reporting Portal</title>
<link href="~/Styles/site.css" rel="stylesheet" type="text/css" />
<link href="~/Styles/red/red.css" rel="stylesheet" type="text/css" />
<script type="text/Scripts" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/Scripts" language="javascript" src="../Scripts/jquery.dropdownPlain.js"></script>
<script type="text/Scripts" language="javascript" src="../Scripts/facebox.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
Run Code Online (Sandbox Code Playgroud)
然后在母版页的正文中,还有一个额外的ContentPlaceHolder:
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
Run Code Online (Sandbox Code Playgroud)
在子页面中,它看起来像这样:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Dashboard.aspx.cs" Inherits="Data.Dashboard" %>
<%@ …Run Code Online (Sandbox Code Playgroud) 我最近将一个网站项目转换为Visual Studio 2008中的一个Web应用程序项目.我终于将其编译,并且第一页(登录屏幕)正常显示,但是当它重定向到Default.aspx页面时,我收到了一个错误:
Parser Error Message: 'SOME.NAMESPACE.MyApplicationName.WebApplication._Default' is not allowed here because it does not extend class 'System.Web.UI.Page'.
Run Code Online (Sandbox Code Playgroud)
我的所有页面都继承自一个名为"BasePage"的类,它扩展了System.Web.UI.Page.显然问题不在于该类,因为login.aspx页面显示没有错误,并且它也从该基页继承.
网站上的所有页面(包括登录页面)都是母版页的子页面.
经过一些测试,我已经确定导致错误的是什么(虽然我不知道为什么会这样做).
在我有以下标记的所有页面上,不会发生错误.
<%@ MasterType VirtualPath="~/MasterPages/MainMaster.master" %>
Run Code Online (Sandbox Code Playgroud)
在所有不包含该行的页面上,都会出现错误.这贯穿整个应用程序.我只在需要在MasterPage上引用控件的页面上有标记.
所以,我想我会把这一行添加到我的所有页面并完成它.但是当我添加该行时,我得到一个编译错误:'object'不包含'Master'的定义
此错误来自与我添加了"MasterType"声明的ASPX页面关联的designer.cs文件.
我强制重建设计器文件,但这并没有改变任何东西.我比较了login.aspx(工作)和default.aspx(不工作)之间的设计器文件中的Master引用的内容,但它们完全相同.
因为我真的想让它工作而不必将"MasterType"声明添加到每个页面,并且由于"修复"无论如何都没有用,有没有人知道为什么不在aspx文件上使用"MasterType"声明导致解析器错误?有没有解决这个问题?
示例代码:
以下是login.aspx和login.aspx.cs的代码,它可以正常工作:
为Login.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/MainMaster.master" AutoEventWireup="true" Inherits="SOME.NAMESPACE.MyApplicationName.WebApplication.Login" Codebehind="Login.aspx.cs" %>
<%@ MasterType VirtualPath="~/MasterPages/MainMaster.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" Runat="Server">
<table>
<tr>
<td>
<asp:UpdatePanel ID="upLogin" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" DefaultButton="Login1$LoginButton">
<asp:Login ID="Login1" runat="server" LoginButtonStyle-CssClass="button"
TextBoxStyle-CssClass="textBoxRequired"
TitleTextStyle-CssClass="loginTitle" >
</asp:Login>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upPasswordRecovery" runat="server">
<ContentTemplate>
<asp:PasswordRecovery ID="PasswordRecovery1" runat="server" …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建具有特定角色的新用户对象."角色"是EF中的现有实体.我用谷歌搜索了,并且堆栈溢出,直到我脸色发青,我已经尝试了所有似乎对其他人都有用的东西.但是当我尝试保存我的新用户对象时,它首先尝试创建一个新的"角色",而不是仅仅创建一个引用现有角色的新用户对象.
我究竟做错了什么?
Role myRole = new Role { ID = myUser.Role.ID };
myObjectContext.Roles.Attach(myRole);
myUser.Role = myRole;
if (myUser.ID == 0)
{
myObjectContext.Users.AddObject(myUser);
}
else
{
if (myUser.EntityState == System.Data.EntityState.Detached)
{
myObjectContext.Users.Attach(myUser);
}
myObjectContext.ObjectStateManager.ChangeObjectState(myUser, System.Data.EntityState.Modified);
}
myObjectContext.SaveChanges(SaveOptions.None);
Run Code Online (Sandbox Code Playgroud)
编辑 - 更多测试后......
好吧..所以我无论如何都发现了"原因"的某些部分.我仍然不知道为什么会这样做并需要帮助.
基本上,我附加到我的新User对象有两组数据.一个是"角色",它是包含角色的角色表的FK.这在用户上显示为"User.Role"的导航属性.
第二组数据是名为"FIPS"的对象集合,它们是用户与另一个名为FIPS的表之间的多对多关系.它们之间有一个关系表,它只包含两列,每列分别是User和FIPS的外键.用户的FIPS也是一个导航属性,引用类似"User.FIPS".
以下是整个代码,显示在保存上下文之前将FIPS和角色分配给User对象.
List<string> fipsList = new List<string>();
foreach (FIPS fips in myUser.FIPS)
{
fipsList.Add(fips.FIPS_Code);
}
myUser.FIPS.Clear();
foreach (string fipsCode in fipsList)
{
FIPS myFIPS = new FIPS { FIPS_Code = fipsCode };
myObjectContext.FIPSCodes.Attach(myFIPS);
myUser.FIPS.Add(myFIPS);
}
Role myRole = new …Run Code Online (Sandbox Code Playgroud) 我有两个相关的下拉菜单.
当用户从第一个下拉列表中选择一个选项时,第二个下拉列表将填充第一个下拉列表中未选中的所有选项的列表.
我正在尝试使用jquery来获取所有未选择的选项,但我仍然是一个jquery newb并且必须要搞定一些东西.
我正在尝试以下方法:
$('#segmentCrossStreet1:not(:selected)')
Run Code Online (Sandbox Code Playgroud)
这是"segmentCrossStreet1"是第一个下拉列表的ID.这似乎没有返回任何有用的东西.我究竟做错了什么?
我正在尝试使用带有ajax加载的select2.
这是我的代码:
clonedTemplate.find('[id^=detailsPhaseFinanceMinor_]').select2({
placeholder: "Select",
minimumInputLength: 1,
ajax: { // instead of writing the function to execute the request we use Select2's convenient helper
type: 'POST',
contentType: "application/json; charset=utf-8",
url: "mapBasic.aspx/GetFinSys",
dataType: 'json',
data: function (term, page) {
return "{'term':\"" + term + "\"}";
},
results: function (data, page) { // parse the results into the format expected by Select2.
// since we are using custom formatting functions we do not need to alter remote JSON data
return …Run Code Online (Sandbox Code Playgroud) 我对TFS比较新,我一直试图弄清楚如何订购任务如下.
任务1
任务2(要求首先完成任务1)
任务3(要求首先完成任务1和任务2)
等等
有没有办法做到这一点?我们正在使用TFS 2010.
我希望帮助非营利组织建立并运行一个网站.
只是,他们不仅希望拥有内容的网站,他们还希望维护会员数据库,并允许这些会员注册并支付俱乐部举办的课程/活动/研讨会.
在我看来,如果他们想要的只是发布内容,几乎任何可用的CMS都可以满足要求.
但注册部分需要一些定制.
我考虑过为他们安装一个基本的CMS,然后为注册部分创建单独的Web应用程序.这仍然有效......
但是,如果我想从CMS挂钩用户/角色并在注册方面使用它们,我想我必须有一些方法来扩展CMS或在子应用程序中轻松使用它的数据.
我一直在阅读以下CMS:
所有这些似乎都有扩展的能力,但我不确定扩展每个都有多少"工作".鉴于我的要求相当简单,而且我不想花费大量时间来做这件事(毕竟这是免费工作),有没有人有推荐?
我遇到了Entity Framework 4.0的问题.我正在尝试保存一个"处理"对象,该对象具有"段"对象的集合.每当我尝试添加/编辑一个我在添加2个或更多新段的处理对象时,我会收到以下错误:
已成功提交对数据库的更改,但更新对象上下文时发生错误.ObjectContext可能处于不一致状态.内部异常消息:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突.在调用AcceptChanges之前,请确保键值是唯一的.
这是我正在使用的保存方法."SegmentID"列是"Segment"的PK,它是一个在DB中设置为自动递增的整数(MS SQL 2008).默认情况下,"SegmentID"设置为0,直到从DB获取更新的段.
public bool Save(Treatment myTreatment)
{
bool result = false;
using (tamcEntities db = new tamcEntities())
{
// IF NEW TREATMENT, CREATE IT AND ADD TO DB
if (myTreatment.Treatment_ID == 0)
{
db.Treatments.AddObject(myTreatment);
result = (db.SaveChanges() != 0);
}
// IF EXISTING TREATMENT, FIND EXISTING TREATMENT IN DB, AND UPDATE IT
else
{
List<string> treatmentIncludes = new List<string>();
treatmentIncludes.Add("Segments");
Treatment myTmt = (from x in db.Treatments
where x.Treatment_ID == myTreatment.Treatment_ID
select x).WithIncludes(treatmentIncludes).FirstOrDefault();
if (myTmt …Run Code Online (Sandbox Code Playgroud) 我正在尝试验证角度2反应形式的输入,以便只有两位小数的数字才有效.
我正在使用该Validators.pattern('^\d+\.\d{2}$')方法来匹配正则表达式模式.根据https://regex101.com/r/1DbMZq/1我的正则表达式匹配正确,但当我在我的表单中使用它时,它总是无效的.
这是一个说明问题的plunker:https://plnkr.co/edit/TpBZtgNNww4CnTwQFtef?p = preview
我有什么想法我做错了吗?
c# ×3
jquery ×3
angular ×2
asp.net ×2
ajax ×1
javascript ×1
master-pages ×1
orchardcms ×1
regex ×1
tfs ×1
umbraco ×1
validation ×1