【问题标题】:Display returned value as text for label field将返回值显示为标签字段的文本
【发布时间】:2018-12-11 14:10:56
【问题描述】:

我有一个返回字符串类型值的函数,我需要调用该函数并在文本字段中显示值,如下所示

函数是:

Public Function getemailaddress() As String

标签是:

<asp:Label Text='<% HERE I NEED TO CALL THE FUNCTION AND SHOW RETURNED
VALUE  %>' runat="server" ID="EmailAddress2" />

那个标签被放置在一个数据列表中,我无权访问后面的代码。

【问题讨论】:

  • 你无权访问背后的代码是什么意思?
  • @ZakiMohammed,它是网页表单项目,已经编译好了,我只能在aspx页面内写嵌入代码。
  • 那你怎么能在aspx页面中直接写嵌入代码,怎么能重新编译代码呢。任何你需要的编译方式
  • 我不需要重新编译代码@ZakiMohammed,函数写在标签里面!
  • 你试过使用DataList的“ItemDataBound”方法吗?

标签: asp.net vb.net visual-studio


【解决方案1】:

我根据您当前的情况制作了以下代码,我假设您从后面的代码中将数据填充到 DataList 中,而您的方法和标签更改代码位于 .aspx 文件中

默认.aspx

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="ms_temp._Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>

<body>

    <form id="mainForm" runat="server">

        <asp:DataList ID="lv" runat="server" OnItemDataBound="lv_ItemDataBound">
            <ItemTemplate>
                <asp:Label ID="lblName" runat="server" />
            </ItemTemplate>
        </asp:DataList>

    </form>

</body>
</html>

<script runat="server">

    Function GetEmailAddress(name As String) As String
        Return name & "@gmail.com"
    End Function

    Protected Sub lv_ItemDataBound(sender As Object, e As DataListItemEventArgs)

        Dim lbl As Label = e.Item.FindControl("lblName")
        Dim name As String = e.Item.DataItem

        lbl.Text = name & ": " & GetEmailAddress(name)

    End Sub

</script>

默认.aspx.vb

Imports System.Collections.Generic

Public Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim list = New List(Of String) From {"John", "Allen", "William"}
        lv.DataSource = list
        lv.DataBind()

    End Sub

End Class

输出

John: John@gmail.com
Allen: Allen@gmail.com
William: William@gmail.com

页面加载时,DataList“lv”被一些随机名称填充。

我已经创建了“GetEmailAddress”方法,您想调用它来更改 DataList 的标签文本。此方法在“lv_ItemDataBound”事件上被调用并更改标签的值。

希望对你有帮助

【讨论】:

  • 谢谢你,你的例子对我帮助很大。
猜你喜欢
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多