8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

当从 asp.net 页面调用用户控件时,它仅调用 csharp,而不调用 jquery 或 java 脚本函数?

Oran G. Utan 3月前

29 0

我在 asp.net 项目上工作时遇到问题,当从 asp.net 页面调用 Web 用户控件时,调用成功,但脚本 JavaScript 或 jQuery 未被调用,那么为什么不调用脚本,只能从调试页面加载...

我在 asp.net 项目上工作时遇到问题,当从 asp.net 页面调用 Web 用户控件时

成功但未调用脚本 JavaScript 或 jQuery

那么为什么脚本没有被调用

仅从调试页面加载用户控件仅在index.asp.net页面上调用

因此函数脚本 jQuery GET_ITO_PROJECTS_DASHBOARD 未调用或运行,为什么

调用用户控件的 c# 页面加载事件

索引.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/WebPages/main.Master" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="ITO.WebPages.index" EnableEventValidation="false" %>

<%@ Register Src="~/WebUserControls/UC_ProjectsDashboard.ascx" TagPrefix="uc2" TagName="UC_ProjectsDashboard" %>


<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <uc2:UC_ProjectsDashboard runat="server" />
</asp:Content>

用户控件 UC_ProjectsDashboard.ascx

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UC_ProjectsDashboard.ascx.cs" Inherits="ITO.WebUserControls.UC_ProjectsDashboard" %>
<div class="row">
    <div class="col-12">
        <div id="card-main_Index" class="card customCard card-outline-primary">
   
                     <div class="card-header">
                <h4 class="m-b-0 text-white card-title text-center">
                    <label id="lblTitle" runat="server" clientidmode="Static">Project Dashboard</label>
                </h4>
            </div>
             
                        <div class="card-body">

                         
                             
                        
                          
                              
                              
                               <div class="row" style="margin-top:10px;">
                             
                                <div class="col-12 col-lg-1">
                        
                                       </div>
                                   <div class="col-12 col-lg-5 gvResultmeeting-container hide">
                                    <div class="form-group">
                                          <div class="card card-outline-success">
                                            <div class="card-header" style="background-color: #808080; font-size: 18px; padding: .75rem 1.25rem; font-weight: 600; height: 50px; color: #ffffff;">
                                              الاجتماعات التمهيديه
                                            </div>
                                            <div class="card-body">
                                                <table id="gvResultmeeting" class="table table-striped table-hover table-bordered">
                                                    <thead>
                                                    </thead>
                                                    <tbody>
                                                    </tbody>
                                                </table>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                               
                        
                                <div class="col-12 col-lg-5  gvResultrequests-container hide">
                                    <div class="form-group">
                                        <div class="card card-outline-success">
                                            
                                                  <div class="card-header" style="background-color: #ffcc00; font-size: 18px; padding: .75rem 1.25rem; font-weight: 600; height: 50px; color: #ffffff;">
                                           الرد على الاستفسارات
                                            </div>
                                            <div class="card-body">
                                                <table id="gvResultrequests" class="table table-striped table-hover table-bordered">
                                                    <thead>
                                                    </thead>
                                                    <tbody>
                                                    </tbody>
                                                </table>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                   <div class="col-12 col-lg-1">
                     
                                       </div>
                            </div>
                              <div class="row" style="margin-top:10px;">
                             
                                
                                   <div class="col-12 col-lg-12">
                                    <div class="form-group">
                                          <div class="card card-outline-success">
                                            <div class="card-header" style="font-size: 18px; padding: .75rem 1.25rem; font-weight: 600;color: #ffffff;">
                                              المشروعات
                                            </div>
                                            <div class="card-body">
                                                <table id="gvResultprojects" class="table table-striped table-hover table-bordered">
                                                    <thead>
                                                    </thead>
                                                    <tbody>
                                                    </tbody>
                                                </table>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                        
                             
                            </div>

                            </div>

                   
                
                </div>
            </div>
        </div>




<script>
    $(function () {
        debugger
        if ($("#txtP_PERM_ID").val() == "2059") {
            GET_ITO_PROJECTS_DASHBOARD();
        }
       
    });
</script>
帖子版权声明 1、本帖标题:当从 asp.net 页面调用用户控件时,它仅调用 csharp,而不调用 jquery 或 java 脚本函数?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Oran G. Utan在本站《asp.net》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 例如,如果我异步地向数据库发送请求。任务应该如何理解它已经完成并改变其状态?我是否正确理解当我执行...

    例如,如果我异步地向数据库发出请求。任务应该如何理解它已经完成并改变其状态?我是否理解正确,当我异步访问数据库时,基本上没有线程在等待它,或者只有调用线程被释放,而在它后面还有一个额外的线程正在等待数据库的响应?

  • y2bd 3月前 0 只看Ta
    引用 2

    出现此问题的主要原因是由于最新的版本速度更快而从 AutoMapper 更改为 Mapperly。我遇到的问题是我不知道如何自动将 UpdateBarDTO 映射到 Bar,忽略...

    出现这个问题的主要原因是由于最新的版本速度更快,所以从 AutoMapper 改为 Mapperly。

    我遇到的问题是我不知道如何自动将 Update的 idDTO Bar Bar Bar ,以便它修改正确的数据库对象而不会出现错误:

    System.InvalidOperationException: The property 'Bar.Id' is part of a key and so cannot
    be modified or marked as modified. To change the principal of an existing entity with an
    identifying foreign key, first delete the dependent and invoke 'SaveChanges',
    and then associate the dependent with the new principal.
    
    
    public record class UpdateBarDTO
    (
        [Required][StringLength(255)] string Name,
        [Required] string Address,
        [Required] string PhoneNumber,
        [Required] string Email,
        string Website,
        string CuisineType,
        [Required] string OpeningHours,
        DateTime CreationDate
    );
    
    public class Bar
    {
        public int Id { get; set; }
        public required string Name { get; set; }
        public required string Address { get; set; }
        public required string PhoneNumber { get; set; }
        public required string Email { get; set; }
        public string? Website { get; set; }
        public string? CuisineType { get; set; }
        public required string OpeningHours { get; set; }
        public DateTime? CreationDate { get; set; }
    }
    
    

    我已设法通过以下方法找到解决方案:使用 UpdateBarFromDto() 设置 id,以便数据库知道要更新哪个对象

    [Mapper]
    public partial class BarMapper
    {
    public partial Bar ToUpdateBar(UpdateBarDTO bar);
    public Bar UpdateBarFromDto(UpdateBarDTO updateBarDTO, Bar bar)
        {
            var dto = ToUpdateBar(updateBarDTO);
            dto.Id = bar.Id;
            return dto;
        }
    
    

    有效载荷:仅名称发生变化

    PUT <http://localhost:5294/bars/1>
    Content-Type: application/json
    
    {
        "Name": "Sunset Lounge Skyy",
        "Address": "123 Ocean Drive, Miami, FL 33139",
        "PhoneNumber": "305-555-1234",
        "Email": "[email protected]",
        "Website": "<http://www.sunsetlounge.com>",
        "CuisineType": "Seafood",
        "OpeningHours":"Monday: 10:00 AM - 11:00 PM,Tuesday: 10:00 AM - 11:00 PM,Wednesday: 10:00 AM - 11:00 PM,Thursday: 10:00 AM - 11:00 PM,Friday: 10:00 AM - 12:00 AM,Saturday: 10:00 AM - 12:00 AM,Sunday: 10:00 AM - 10:00 PM",
        "CreationDate": "2020-08-15T00:00:00"
    }
    
    

    控制器

    //PUT /bars/1
    group.MapPut("/{id}", async (int id, UpdateBarDTO updatedBar, ServitusDbContext dbContext) =>
    {
        var existingBar = await dbContext.Bars.FindAsync(id);
    
        if (existingBar is null)
            return Results.NotFound();
    
        //set the id of updatedBarDTO
        var bar = new BarMapper().UpdateBarFromDto(updatedBar, existingBar);
    
        //locate the bar you want to update, map it to DTO and set the values
        dbContext.Entry(existingBar)
                .CurrentValues
                .SetValues(bar);
    
        await dbContext.SaveChangesAsync();
    
        return Results.NoContent();
    });
    
    

    对于那些了解 AutoMapper 的人来说,我希望实现与此相同的效果:

    var bar = mapper.Map<UpdateBarDTO, Bar>(updatedBar, opt => opt.AfterMap((src, dest) => dest.Id = id));
    
    

    非常感谢!

  • async 发起异步数据库请求时 await ,调用线程将被释放以执行其他任务。这可确保线程不会被阻塞以等待数据库响应,从而更有效地利用系统资源。

    与某些误解相反,没有其他线程在等待数据库响应。相反,请求已发送,操作系统在收到响应后处理方法的继续。此继续由线程池中的可用线程拾取。

    对象 Task 会跟踪其状态,例如 RanToCompletion , Faulted 、 或 Canceled 。通过使用 await 关键字,方法执行会在任务完成后自动恢复,其中可以包括更新任务状态或执行后续操作。

    此模型显著提高了效率和可扩展性。它只在必要时使用线程,在等待 I/O 操作完成时释放线程。这种方法使系统能够更有效地处理大量并发操作。

  • 这个问题有太多内容需要解开。您可能会发现此博客中的 async / await 和 Task 帖子很有用:

  • 对于用户控件,实际上对于一般控件来说,jQuery 选择器将无法基于 \'ID\' 工作,因为它经常被 asp.net 预处理所改变。

    因此,如果您按下 f12(浏览器调试工具),您应该会看到 JavaScript 代码中的错误。

    您想对控件 ID 使用以下语法:

    $("#<%=txtP_PERM_ID.ClientID%>")
    

    因此,您的示例代码可能无法工作,因为控件的 id 正在被更改,并且在大多数情况下,将以用户控件名称作为前缀,然后是控件 ID。

返回
作者最近主题: