2016-05-17 10 views
0

各繰り返しでforeachからPage.ClientScript.RegisterStartupScriptを呼び出す方法それが最後Page.ClientScript.RegisterStartupScriptを呼び出す方法各繰り返しごとにforeachから

int saveImageCount=0; 

foreach (DataRow Stdrow in key.ColumnValues) 
{ 
    saveImageCount++ 
    Page.ClientScript.RegisterStartupScript(GetType(), "SaveImage" + saveImageCount, "javascript:SaveImage();", true); 
} 

JavaScriptを呼び出すことができません。一度すべての反復を呼び出すように見えます:SaveImageを、各反復

答えて

0

のために彼らはすべて同じ型を持つことになりますので、彼らは最後の1までお互いを上書きします最後のものが「勝つ」。

代わりに文字列を作成し、foreachの外に文字列を登録します。

0

@ジョナサン、私はあなたがちょっと誤解していると思います。そのタイプとキーはタイプだけでなくユニークな組み合わせです。 @brijeshは95%ですが、Register Loader.ClientScriptBlockは、ページロードではなくイベントに基づいて登録されるため、使用する必要があります。

int saveImageCount = 0; 
foreach (DataRow Stdrow in key.ColumnValues) 
    { 
    saveImageCount++; 
    ClientScript.RegisterClientScriptBlock(this.GetType(), "script"+saveImageCount, "alert('data has been added successfully');", true); 
    } 

GetTypeと "script" + saveImageCountは一意のキーの組み合わせを作成するため、スクリプトは躊躇せずに呼び出されます。

関連する問題