Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何调用javascript函数绑定动态添加的div_C#_Javascript_Jquery_Accordion - Fatal编程技术网

C# 如何调用javascript函数绑定动态添加的div

C# 如何调用javascript函数绑定动态添加的div,c#,javascript,jquery,accordion,C#,Javascript,Jquery,Accordion,我有一个日历控件,在选择相应的日期时,我需要在手风琴中将今天的到期日和过期日显示为两个部分。我尝试添加带有样式的div以提供手风琴的外观,但这会带来UI问题。目前,我计划添加手风琴(Jquery)。因为,手风琴将在从日历控件选择日期时显示。我在代码中绑定accordion div,并将其转换为要显示的Json,同时选择相应的日期。添加div的代码如下: [WebMethod(EnableSession = true)] [ScriptMethod(ResponseFormat = Res

我有一个日历控件,在选择相应的日期时,我需要在手风琴中将今天的到期日和过期日显示为两个部分。我尝试添加带有样式的div以提供手风琴的外观,但这会带来UI问题。目前,我计划添加手风琴(Jquery)。因为,手风琴将在从日历控件选择日期时显示。我在代码中绑定accordion div,并将其转换为要显示的Json,同时选择相应的日期。添加div的代码如下:

[WebMethod(EnableSession = true)]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string CalenderBinderAccordian()
    {
        try
        {
            //Code to fetch ProductGroup is not shown
        foreach (var p in productGroup)
        {
            string todoString = "";
            int uniqueID = Guid.NewGuid().GetHashCode();
            todoString = "<div id='accordion' class='ui-accordion ui-widget ui-helper-reset' role='tablist'><h3><a href=#" + uniqueID + "><b>Due Today</b></a></h3>";
            todoString += "<div>";
            foreach (var t in p.todo)
            {
                var tempAmt = String.Empty;
                if ((t.Amount == null) || t.Amount == String.Empty)
                    tempAmt = "0";
                else
                    tempAmt = Convert.ToDecimal(t.Amount.ToString()).ToString();
                todoString += "<p style='padding:5px 0px; border-bottom:dashed 1px #dddddd;'><b>" + todoCount.ToString() + "</b>. " + t.ProductName + "<span style='text-align:right; padding-right:5px;'> $" + tempAmt + "</span><a href='PaymentDetails.aspx' target='_blank' style='text-decoration:none;'><b>Pay Now</b></a></p>";
                todoCount++;
            }
            todoString += "</div>";
            var overDue = temps.Select(x => new { x.DueDate }).Distinct().ToList();
            int overDueCount = 0;
            uniqueID = Guid.NewGuid().GetHashCode();
            todoString += "<h3><a href=#" + uniqueID + "><b>Over Due</b></a></h3>";
            int todoCount1 = 1;
            todoString += "<div>";
            for (int i = 0; i < overDue.Count(); i++)
            {
                if ((Convert.ToDateTime(overDue[i].DueDate) - Convert.ToDateTime(p.dates)).Days < 0)
                {
                    overDueCount++;
                    var overDueList = temps.FindAll(x => x.DueDate.Equals(overDue[i].DueDate)).ToList();
                    foreach (var t in overDueList)
                    {
                        var tempAmt = String.Empty;
                        if ((t.Amount == null) || t.Amount == String.Empty)
                            tempAmt = "0";
                        else
                            tempAmt = Convert.ToDecimal(t.Amount.ToString()).ToString();
                        todoString += "<p  style='padding:5px 0px; border-bottom:dashed 1px #dddddd;'><b>" + todoCount1.ToString() + "</b>. " + t.ProductName + "<span style='text-align:right; padding-right:5px;'> $" + tempAmt + "</span><a href='PaymentDetails.aspx' target='_blank' style='text-decoration:none;'><b>Pay Now</b></a></p>";
                        todoCount++;
                        todoCount1++;
                    }
                }
            }
            todoString += "</div>";
            todoString = todoString + "</div>\",\"count\":\"" + todoCount + "\"},";
            jsonString = jsonString + String.Format("{{\"{0}\" : \"{1}\",\"{2}\" : \"{3}", "dates", p.dates, "todo", todoString);
            if (overDueCount.Equals(0))
            {
                jsonString = jsonString.Replace("<h3><a href=#" + uniqueID + "><b>Over Due</b></a></h3><div></div>", "");
            }
        }
        jsonString = jsonString.TrimEnd(',');
        jsonString = '[' + jsonString + ']';
        string data= jsonString;
        return data;
    }
    catch (Exception ex)
    {
        throw;
    }
}    
[WebMethod(EnableSession=true)]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
公共字符串压延机装订工()
{
尝试
{
//未显示获取ProductGroup的代码
foreach(productGroup中的var p)
{
字符串todoString=“”;
int uniqueID=Guid.NewGuid().GetHashCode();
todoString=“”;
todoString+=“”;
foreach(p.todo中的变量t)
{
var tempAmt=String.Empty;
if((t.Amount==null)| t.Amount==String.Empty)
tempAmt=“0”;
其他的
tempAmt=Convert.ToDecimal(t.Amount.ToString()).ToString();
todoString+=“

”+todoCount.ToString()+“+t.ProductName+”$“+tempAmt+”

”; todoCount++; } todoString+=“”; var过期=temps.Select(x=>new{x.DueDate}).Distinct().ToList(); int overDueCount=0; uniqueID=Guid.NewGuid().GetHashCode(); todoString+=“”; int todoCount1=1; todoString+=“”; 对于(int i=0;i<过期.计数();i++) { if((Convert.ToDateTime(过期[i].DueDate)-Convert.ToDateTime(p.dates)).Days<0) { 过量计数++; var overDueList=temps.FindAll(x=>x.DueDate.Equals(过期[i].DueDate)).ToList(); foreach(overDueList中的var t) { var tempAmt=String.Empty; if((t.Amount==null)| t.Amount==String.Empty) tempAmt=“0”; 其他的 tempAmt=Convert.ToDecimal(t.Amount.ToString()).ToString(); todoString+=“

”+todoCount1.ToString()+“+t.ProductName+”$“+tempAmt+”

”; todoCount++; todoCount1++; } } } todoString+=“”; todoString=todoString+“\”,“\”计数“:\”“+todoCount+“\”}”; jsonString=jsonString+String.Format(“{{0}\”:\“{1}\”,\“{2}\”:\“{3}”,“dates”,p.dates,“todo”,todoString); if(overDueCount.Equals(0)) { jsonString=jsonString.Replace(“,”); } } jsonString=jsonString.TrimEnd(','); jsonString='['+jsonString+']'; 字符串数据=jsonString; 返回数据; } 捕获(例外情况除外) { 投掷; } }
ascx页面中的代码如下所示: /

日历控制脚本 //手风琴剧本 $(函数(){ $(“#手风琴”)。手风琴(); }); 注意,当我在ascx页面中添加div数据时,accordion工作正常,使用fireBug显示accordion类。但是由于accordion数据添加在代码中,并使用java脚本显示。下面显示的函数不起作用。 请帮忙,我是Jquery的初学者

<script  type="text/javascript">
            $(function () {
                $("#accordion").accordion();
            });
        </script>

$(函数(){
$(“#手风琴”)。手风琴();
});

这是因为在DOM准备就绪时调用accordion函数(
$(函数(){
..),并且动态添加的div不在DOM中 显示动态生成的div后调用accordion函数

//code to display your dynamic div..
$("#addedDivID").accordion();  //call the accordion function (again) after that..
试试这个:

$(document).find("#accordion").accordion();

你的try-catch是怎么回事,它只会重新引发异常?
$(document).find("#accordion").accordion();