2009-08-17 14 views
0

データリストがあり、itemdatabound iamでjavascriptを呼び出して1つの引数を渡しています。しかし、jsでその引数を取得できません。 (UploadImages:JavaScriptで価値が得られない

function UploadImages(str) 
{ 
alert(str); 
} 

問題はString.Formatの中itemdatabound IAMなっ値( "JavaScriptであるFN itemdataboundで

<asp:Button ID="btnUpload" runat="server" cssClass="button1"           Text="Upload" > 



<asp:DataList ID="dlView" runat="server" > 
    <ItemTemplate> 
    <tr> 
    <td> 
    <asp:Image ID="imgPlan" runat="server" ImageUrl='<%#GetImage(Eval("ImageName")) %>' /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
    <asp:LinkButton ID="lnkChangeLogo" runat="server" Text="ChangeLogo" OnClientClick="javascript:showLayerUpLoad();return false;"> 
                </asp:LinkButton> 
                <br /> 
     <asp:LinkButton ID="lnkRemoveLogo" runat="server" Text="RemoveLogo" OnClientClick="javascript:ConfirmChoice();return false;"/> 
     <asp:TextBox ID="txtImage" runat="server" Text='<%#Eval("ImageName") %>'></asp:TextBox> 
     <asp:HiddenField ID="hdnImage" runat="server" Value='<%#Eval("ImageName")%>' /> 

     </td>            
    </tr> 
    </ItemTemplate> 
    </asp:DataList> 

私はコード

Protected Sub dlView_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles dlView.ItemDataBound 
     If e.Item.ItemType = ListItemType.Item Or _ 
     e.Item.ItemType = ListItemType.AlternatingItem Then 
      Dim txtImage As TextBox = DirectCast(e.Item.FindControl("txtImage"), TextBox) 
      Dim s As String = txtImage.Text 
      btnUpload.OnClientClick = String.Format("javascript:UploadImages('{0}')", s) 
     End If 


    End Sub 

後、次の書かれているが、私のjavascriptのです'{0}') ")、)しかし、btnUploadをクリックすると、コントロールはjsのUploadImagesに移動しますが、strに値はありません。 その理由は何ですか?誰でも助けてくれますか?

htmlの結果である

<link href="../CSS/PopupDiv.css" rel="stylesheet" type="text/css" /></head> 

後ボタンサーバーコントロールのプロパティ OnClientClickImageButtonLinkButtonButton)あなたは javascript:接頭辞を使用していないために3210
 <div id="shadow" class="opaqueLayer"> </div> 

<div id="question" class="questionLayer"> 

    <table width="100%" cellpadding="0" cellspacing="0" bgcolor="#F1ECDE"> 
     <tr style="height:17"> 
      <td style="background:url(../App_Images/bg/contentlefttop.gif)" width="26" height="17">&nbsp;</td> 
      <td style="background:url(../App_Images/bg/contenttop.gif)">&nbsp;</td> 
      <td style="background:url(../App_Images/bg/contentrighttop.gif)" width="26" height="17">&nbsp;</td> 
     </tr> 
     <tr> 
      <td style="background:url(../App_Images/bg/contentleft.gif)" width="26">&nbsp;</td> 
      <td bgcolor="#FFFFFF"> 
       <table width="100%" cellpadding="0" cellspacing="0"> 
        <tr> 
         <td style="text-align:justify; line-height:18px"> 
          <img src="../App_Images/loading.gif" alt="Loading..."/> 
         </td> 
        </tr> 
        <tr> 
         <td> 
          Please Wait While the Values Load... 
         </td> 
        </tr> 
       </table> 
      </td> 
      <td style="background:url(../App_Images/bg/contentright.gif)" width="26">&nbsp;</td> 
     </tr> 
     <tr style="height:17"> 
      <td style="background:url(../App_Images/bg/contentleftbottom.gif)" width="26" height="17">&nbsp;</td> 
      <td style="background:url(../App_Images/bg/contentbottom.gif)">&nbsp;</td> 
      <td style="background:url(../App_Images/bg/contentrightbottom.gif)" width="26" height="17">&nbsp;</td> 
     </tr> 
    </table> 

</div> 

<div id="questionUpLoad" class="questionLayer"> 

     <table width="100%" cellpadding="0" cellspacing="0" bgcolor="#F1ECDE"> 
      <tr style="height:17"> 
       <td style="background:url(../App_Images/bg/contentlefttop.gif)" width="26" height="17">&nbsp;</td> 
       <td style="background:url(../App_Images/bg/contenttop.gif)">&nbsp;</td> 
       <td style="background:url(../App_Images/bg/contentrighttop.gif)" width="26" height="17">&nbsp;</td> 
      </tr> 
      <tr> 
       <td style="background:url(../App_Images/bg/contentleft.gif)" width="26">&nbsp;</td> 
       <td bgcolor="#FFFFFF"> 
        <table width="100%" cellpadding="0" cellspacing="0"> 
         <tr> 
          <td style="text-align:justify; line-height:18px"> 
           <strong> File Name:</strong><br /> 
           <span id="spnUpload"> 
            <input type="file" id="flUpload" /> 
           </span> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           <input type="submit" name="btnUpload" value="Upload" onclick="UploadImages('');" id="btnUpload" class="button1" /> 
           &nbsp; 
           <input type="submit" name="btnCancel" value="Cancel" onclick="javascript:hideLayerUpLoad();return false;" id="btnCancel" class="button1" /> 
          </td> 
         </tr> 
        </table> 
       </td> 
       <td style="background:url(../App_Images/bg/contentright.gif)" width="26">&nbsp;</td> 
      </tr> 
      <tr style="height:17"> 
       <td style="background:url(../App_Images/bg/contentleftbottom.gif)" width="26" height="17">&nbsp;</td> 
       <td style="background:url(../App_Images/bg/contentbottom.gif)">&nbsp;</td> 
       <td style="background:url(../App_Images/bg/contentrightbottom.gif)" width="26" height="17">&nbsp;</td> 
      </tr> 
     </table> 

    </div> 



<table width="100%" cellpadding="0" cellspacing="0"> 
<tr> 

<td rowspan="6" colspan="2" align="left" style="padding-right:5px; width: 125px;" > 
<table id="dlView" cellspacing="0" border="0" style="border-collapse:collapse;"> 
    <tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl00_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/abc.jpg" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl00_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl00$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl00_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl00$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl00$txtImage" type="text" value="abc.jpg" id="dlView_ctl00_txtImage" /> 
    <input type="hidden" name="dlView$ctl00$hdnImage" id="dlView_ctl00_hdnImage" value="abc.jpg" /> 

    </td>            
</tr> 
</td> 
    </tr><tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl01_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/qwe.DIhJfEPC" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl01_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl01$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl01_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl01$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl01$txtImage" type="text" value="qwe.DIhJfEPC" id="dlView_ctl01_txtImage" /> 
    <input type="hidden" name="dlView$ctl01$hdnImage" id="dlView_ctl01_hdnImage" value="qwe.DIhJfEPC" /> 

    </td>            
</tr> 
</td> 
    </tr><tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl02_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/asd.jpg" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl02_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl02$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl02_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl02$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl02$txtImage" type="text" value="asd.jpg" id="dlView_ctl02_txtImage" /> 
    <input type="hidden" name="dlView$ctl02$hdnImage" id="dlView_ctl02_hdnImage" value="asd.jpg" /> 

    </td>            
</tr> 
</td> 
    </tr><tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl03_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/vini.jpg" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl03_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl03$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl03_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl03$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl03$txtImage" type="text" value="vini.jpg" id="dlView_ctl03_txtImage" /> 
    <input type="hidden" name="dlView$ctl03$hdnImage" id="dlView_ctl03_hdnImage" value="vini.jpg" /> 

    </td>            
</tr> 
</td> 
    </tr><tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl04_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl04_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl04$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl04_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl04$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl04$txtImage" type="text" id="dlView_ctl04_txtImage" /> 
    <input type="hidden" name="dlView$ctl04$hdnImage" id="dlView_ctl04_hdnImage" /> 

    </td>            
</tr> 
</td> 
    </tr><tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl05_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/adf.jpg" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl05_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl05$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl05_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl05$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl05$txtImage" type="text" value="adf.jpg" id="dlView_ctl05_txtImage" /> 
    <input type="hidden" name="dlView$ctl05$hdnImage" id="dlView_ctl05_hdnImage" value="adf.jpg" /> 

    </td>            
</tr> 
</td> 
    </tr><tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl06_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl06_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl06$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl06_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl06$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl06$txtImage" type="text" id="dlView_ctl06_txtImage" /> 
    <input type="hidden" name="dlView$ctl06$hdnImage" id="dlView_ctl06_hdnImage" /> 

    </td>            
</tr> 
</td> 
    </tr><tr> 
     <td> 
<tr> 
<td> 
<img id="dlView_ctl07_imgPlan" src="../SiteImages/vidhya/40/1/ThumbNails/" style="border-width:0px;" /> 
</td> 
</tr> 
<tr> 
<td> 
<a onclick="javascript:showLayerUpLoad();return false;" id="dlView_ctl07_lnkChangeLogo" href="javascript:__doPostBack('dlView$ctl07$lnkChangeLogo','')">ChangeLogo</a> 
               <br /> 
    <a onclick="javascript:ConfirmChoice();return false;" id="dlView_ctl07_lnkRemoveLogo" href="javascript:__doPostBack('dlView$ctl07$lnkRemoveLogo','')">RemoveLogo</a> 
    <input name="dlView$ctl07$txtImage" type="text" id="dlView_ctl07_txtImage" /> 
    <input type="hidden" name="dlView$ctl07$hdnImage" id="dlView_ctl07_hdnImage" /> 

    </td>            
</tr> 
</td> 
    </tr> 
</table> 
      </td>   
        </tr> 
       <tr> 
         <td><strong style="color:#ADADAD">URL : </strong><a id="lnkUrl" target="_blank"> 
            <span id="lblUrl"></span> 
           </a></td> 
          </tr> 
         </table> 

<div> 

    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWIwKerOHHCALt3oXMAwKQ9M/rBQLf8c7OBALF9uAaAtzO1PIKAt/2m70CAvrasL4HAuDf6ooCAtzOwPcIAt/2h0IC5v+70Q0CzITOxQ8C3M6spAcC3/bDxwYCgemdpAkC5+3XyA0C3M6YqQUC3/avzAQClcS6vQkC+8jMiQUC3M6EhgMC3/bL0AoCsK2c6A4ClrLWtAkC3M7wigEC3/b3hwQCnNKn+wQCgte57wYC3M7ctw8C3/bz2g4C3/GapA8CxfbUyAMC3M6I7wgC3/bf3ww=" /> 
</div></form> 
</body> 
</html> 
+0

なぜDataListコントロールの外にbtnUploadを配置しますか? – adatapost

+0

私はshowlayeruploadを1つのファイルアップロードコントロールと呼び、btnUploadはpopup.BTnUploadをクリックするとImgPlanのImageUrlがjavacriptで必要になります。 – user42348

+0

結果のHTMLを表示できますか?私はこのJSのonclickコードがどのように見えるかを見たいと思います。 – DmitryK

答えて

1

。だからあなたのjavascript:のものをすべて削除し、それが動作するかどうかを確認してください。

は、私はLinkButtonは特殊なケースです...上記の言ったことは無視されます。 :P

ここでコードとHTML出力を詳しく見ていきます。私が見ることができるものから、あなたのコード内でいくつかの問題があります。

  1. あなたが動的にDataList外に座っているbtnUploadサーバーコントロールのOnClientClickプロパティを変更しています。それが動作するかどうかbtnUploadボタンのOnClientClickは、項目がリストと結果にバインドされるたびに変更されますを意味し、あなたのデータソース内の最後のImageNameは、出力HTMLでbtnUploadさんのonclick属性に渡されています。
  2. Eval("ImageName")imgPlanためGetImage()関数からそれを呼び出すときだけ仕事です。なぜこれが起こっているのか、私はあまり確信していません。このため、テキストと値のtxtImagehdnImageは入力されていないため、jsの値を取得できませんでした。

あなたのコードを確認し、私たちはすべての結果を教えてください。 :)

+0

まだstrに値が得られていません – user42348

+0

itemdataboundに問題がありますか? – user42348

0

btnUploadデータスタンドのアイテムテンプレートの外にあるため、ItemDataBoundハンドラの間にすべてのアイテムに対してOnClientClickが書き換えられます。あなたのデータソースの最後の項目のために明らかに、ImageNameは空/ヌルです。btnUploadをアイテムテンプレートに移動し、それが状況を改善するかどうかを確認します。

関連する問題