簡體   English   中英

使用轉發器和JavaScript的asp.net頁面

[英]asp.net page with repeater and javascript used

我是VB的新手,並且結合了JavaScript。 這是一個簡單的問題,但是由於某種原因或其他原因,我無法弄清楚。

我無法正確建立IF陳述式。 請你能幫我嗎? 我看過並用谷歌搜索,但沒有找到可以幫助我正確理解的答案。 否則我的代碼可以正常工作。 這是我的代碼:

<script type="text/javascript">
var markers = [
<asp:Repeater ID="rptMarkers" runat="server">
<ItemTemplate>
{
"title": '<%# Eval("pvm")%>',
"lat": '<%# Eval("lat")%>',
"lng": '<%# Eval("lng")%>',
"icon": '<%# Eval("Ikoni")%>',
"description": "<span style=’font-size:18px;font-weight:bold;><%#Eval("pvm")%> <%# Eval("Otsikko")%></span><hr>" +
"Text: <%# Eval("Nimi")%> <br> Merkki: <%# Eval("Tunniste")%> <br>"+
"<%# Eval("Info")%>"

->應該在IF語句中; 如果有“照片”信息,則將其帶走,否則將其遺漏;

+"</div><div><img src=<%# Eval("Photo")%> height='150'></img></div></div>"

<-

} </ItemTemplate> ...

請給我一些指導。

如果您使用的是VB,我認為這樣應該可以:

+
<% If (Eval("Photo") <> String.Empty) Then %>
    '</div><div><img src="<%# Eval("Photo")%>"  height='150'></img></div></div>'
<% Else %>
    ''
<% End if %>

編輯:

正如OP所述,上述方法不起作用。 我現在認為使用包含您的業務邏輯的函數會更簡單。 像這樣:

Public Function WriteJsObject(pvm As String,
                                lat As String,
                                lng As String,
                                icon As String,
                                description As String,
                                text As String,
                                nimi As String,
                                tunniste As String,
                                info As String,
                                photo As String) As String

    Dim jso As New StringBuilder("{")
    jso.AppendFormat("""title"": '{0}',{1}", pvm, vbCrLf)
    jso.AppendFormat("""lat"": '{0}',{1}", lat, vbCrLf)
    jso.AppendFormat("""lng"": '{0}',{1}", lng, vbCrLf)
    jso.AppendFormat("""icon"": '{0}'{1}", icon, vbCrLf)
    'the rest of your logic  here
    jso.AppendLine("}")
    Return jso.ToString

End Function

您將使用如下功能:

<asp:Repeater ID="rptMarkers" runat="server" >
    <HeaderTemplate>
        var markers = [
    </HeaderTemplate>
    <ItemTemplate>
        <%# Me.WriteJsObject(Eval("pvm"), Eval("lat"), Eval("lng"), Eval("icon"), Eval("description"), Eval("text"), Eval("nimi"), Eval("tunniste"), Eval("info"), Eval("photo")) %>
    </ItemTemplate>
    <FooterTemplate>
        ];
    </FooterTemplate>
</asp:Repeater>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM