【问题标题】:c# - adding javascript function from codebehindc# - 从代码隐藏中添加 javascript 函数
【发布时间】:2018-06-12 04:11:07
【问题描述】:
DBDataSet.tblAdsDataTable dtAds = client.getAdsDate(ref errCode, AdsType, AdsSlot, Country);
        string ss = "";
        string aa = "";
        if (dtAds.Rows.Count > 0)
        {
            foreach (DBDataSet.tblAdsRow dr in dtAds)
            {
                DateTime date = dr.AdsDate;
                string AdsDate = date.ToString("dd/MM/yyyy");

                ss += '"' + AdsDate + '"' +",";  
                aa = ss.TrimEnd(','); // equal to "01/01/2018","02/01/2018"

                string jquery = "var naArray = ["+ aa +"];";;
                ClientScript.RegisterStartupScript(typeof(Page), "a key","<script>" + jquery + "</script>");
            }
        }

嗨,从上面的代码中,我想在后面的代码中添加 javascript,例如 &lt;script&gt; var naArray = ["01/01/2018","02/01/2018"];&lt;/script&gt;。但是,当我执行时,它变成了&lt;script&gt; var naArray = ["01/01/2018"]; &lt;script&gt;,数组中缺少“02/01/2018”。感谢是否有人可以提供帮助。谢谢。

【问题讨论】:

  • 我在上面的示例中没有看到任何构成 02/01/2018 日期的代码?您只使用过 AdsDate
  • 嗨@PrateekShrivastava,我已经编辑了我的代码。
  • aa = ss.TrimEnd(','); // 等于 "01/01/2018","02/01/2018" 你能解释一下这段代码吗?
  • 日期是从数据表中检索的,我想将每个日期添加到 javascript 中的数组中
  • @LonelyPlaneteer, aa = ss.TrimEnd(',');不加的话会变成"01/01/2018","02/01/2018",意思是后面加一个","

标签: javascript c# jquery asp.net webforms


【解决方案1】:

您正在为 jquery 变量设置值位于 foreach 循环内。它应该在循环之外。尝试如下更新您的代码。

DBDataSet.tblAdsDataTable dtAds = client.getAdsDate(ref errCode, AdsType, AdsSlot, Country);
string ss = "";
string aa = "";
if (dtAds.Rows.Count > 0)
{
    foreach (DBDataSet.tblAdsRow dr in dtAds)
    {
        DateTime date = dr.AdsDate;
        string AdsDate = date.ToString("dd/MM/yyyy");

        ss += '"' + AdsDate + '"' +",";                  
    }
    aa = ss.TrimEnd(','); // equal to "01/01/2018","02/01/2018"
    string jquery = "var naArray = ["+ aa +"];";;
    ClientScript.RegisterStartupScript(typeof(Page), "a key","<script>" + jquery + "</script>");
}

【讨论】:

    【解决方案2】:
            string aa = "";
    
            foreach (DBDataSet.tblAdsRow dr in dtAds)
            {
                DateTime date = dr.AdsDate;
                string AdsDate = date.ToString("dd/MM/yyyy");
    
                aa += '"' + AdsDate + '"' + ","; // equal to "01/01/2018","02/01/2018"
            }
    
            aa = aa.TrimEnd(',');
    

    在您的循环之外附加 javascript。您的价值在每次迭代中都在变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      • 2011-04-01
      • 1970-01-01
      相关资源
      最近更新 更多