小编Ama*_*son的帖子

如何使脚本执行等到加载jquery

我遇到的问题是页面加载速度如此之快,以至于jquery在后续脚本调用之前尚未完成加载.有没有办法检查jquery的存在,如果它不存在,请稍等片刻,然后再试一次?


在回答下面的答案/评论时,我发布了一些标记.

情况...... asp.net主页和子页面.

在母版页中,我引用了jquery.然后在内容页面中,我引用了特定于页面的脚本.当加载特定于页面的脚本时,它会抱怨"$ is undefined".

我在标记的几个点放置警报,以查看触发事件的顺序,并确认它按此顺序触发:

  1. 主页面标题.
  2. 子页面内容块1(位于母版页的头部内部,但在调用母版页脚本之后).
  3. 子页面内容块2.

这是主页顶部的标记:

<%@ 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)

javascript jquery

101
推荐指数
10
解决办法
12万
查看次数

分析器错误:此处不允许使用'_Default',因为它不会扩展类'System.Web.UI.Page'和MasterType声明

我最近将一个网站项目转换为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)

c# asp.net master-pages

42
推荐指数
2
解决办法
9万
查看次数

实体框架创建与现有实体关系的新实体,导致尝试创建现有实体的新副本

我正在尝试创建具有特定角色的新用户对象."角色"是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)

c# entity-framework

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

从下拉列表中获取未使用jquery选择的值列表

我有两个相关的下拉菜单.

当用户从第一个下拉列表中选择一个选项时,第二个下拉列表将填充第一个下拉列表中未选中的所有选项的列表.

我正在尝试使用jquery来获取所有未选择的选项,但我仍然是一个jquery newb并且必须要搞定一些东西.

我正在尝试以下方法:

$('#segmentCrossStreet1:not(:selected)')
Run Code Online (Sandbox Code Playgroud)

这是"segmentCrossStreet1"是第一个下拉列表的ID.这似乎没有返回任何有用的东西.我究竟做错了什么?

jquery drop-down-menu

15
推荐指数
2
解决办法
3万
查看次数

使用ajax post方法选择select2

我正在尝试使用带有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)

ajax jquery jquery-select2

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

如何在TFS中"订购"任务

我对TFS比较新,我一直试图弄清楚如何订购任务如下.

任务1

任务2(要求首先完成任务1)

任务3(要求首先完成任务1和任务2)

等等

有没有办法做到这一点?我们正在使用TFS 2010.

tfs

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

哪个CMS适合我?

我希望帮助非营利组织建立并运行一个网站.

只是,他们不仅希望拥有内容的网站,他们还希望维护会员数据库,并允许这些会员注册并支付俱乐部举办的课程/活动/研讨会.

在我看来,如果他们想要的只是发布内容,几乎任何可用的CMS都可以满足要求.

但注册部分需要一些定制.

我考虑过为他们安装一个基本的CMS,然后为注册部分创建单独的Web应用程序.这仍然有效......

但是,如果我想从CMS挂钩用户/角色并在注册方面使用它们,我想我必须有一些方法来扩展CMS或在子应用程序中轻松使用它的数据.

我一直在阅读以下CMS:

  • 果园
  • 一把umbraco
  • C1复合材料

所有这些似乎都有扩展的能力,但我不确定扩展每个都有多少"工作".鉴于我的要求相当简单,而且我不想花费大量时间来做这件事(毕竟这是免费工作),有没有人有推荐?

umbraco content-management-system orchardcms

9
推荐指数
2
解决办法
4547
查看次数

实体框架出错:AcceptChanges无法继续,因为对象的键值与ObjectStateManager中的另一个对象冲突

我遇到了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)

c# asp.net entity-framework-4

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

Angular 2反应形式验证数字的模式,带有两个小数位

我正在尝试验证角度2反应形式的输入,以便只有两位小数的数字才有效.

我正在使用该Validators.pattern('^\d+\.\d{2}$')方法来匹配正则表达式模式.根据https://regex101.com/r/1DbMZq/1我的正则表达式匹配正确,但当我在我的表单中使用它时,它总是无效的.

这是一个说明问题的plunker:https://plnkr.co/edit/TpBZtgNNww4CnTwQFtef?p = preview

我有什么想法我做错了吗?

regex validation angular2-forms angular

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

Angular 2 Model-Driven form.reset()不会重置FormArray属性

我有一个角度2模型驱动的形式,具有类型的属性FormArray.当我调用该myForm.reset(this._originalValue)方法时,其中的项目数FormArray不会重置为原始值.

这是一个显示问题的plunker:https://plnkr.co/edit/gRHD5Ikbm1aGzFQUF2nn?p = preview

有没有办法强制该myForm.reset()方法重置类型属性中的项目数FormArray?或者我必须手动重置它?

angular2-forms angular

8
推荐指数
1
解决办法
1488
查看次数