【问题标题】:How can i find specific Image Control and set its ImageUrl property (ASP.net - vb)我如何找到特定的图像控件并设置其 ImageUrl 属性(ASP.net - vb)
【发布时间】:2014-10-16 12:30:45
【问题描述】:

我的页面中有 5 张图片 每个都有唯一的 id

img1、img2、img3、img4、img5

我有一个文本框,我在其中输入 img1 然后单击“查找我”按钮 找到我按钮选择 textbox1 文本,它是 img1 并传输 它到一个字符串变量 img_check

我可以访问 img1.ImageUrl = "default.jpg" 但我想使用字符串变量中的值访问它 例如 img_check.ImageUrl

我无法找到动态访问控件的任何方法。

因为我想设置多个控件的属性 例如Imge控件的ImageUrl属性和Textbox Text属性。

请帮我解决这个问题。

【问题讨论】:

  • msdn.microsoft.com/en-us/library/486wc64h%28v=vs.110%29.aspx 这可能就是您要找的。​​span>
  • 我已经尝试过了,但是如果我在键入 img 时尝试按照 Dim img As Control = FindControl("img1") 进行操作,我将无法获得 ImageURL 的属性。我没有得到任何 ImageUrl 属性
  • 你必须在你的控件类型中 CType 返回值,因为 FindControl 是一个通用函数,它返回一个System.Web.UI.Control
  • 如果这没有帮助,请发布您的代码。
  • 即使我输入 Dim img As System.Web.UI.Control = FindControl("img1") 也会得到相同的结果

标签: c# asp.net vb.net


【解决方案1】:

正如@mboldt 所说:

Dim myImg As System.Web.UI.WebControls.Image = CType(FindControl(mytextbox.Text), System.Web.UI.WebControls.Image)
myImg.ImageUrl = "~/ImageFolder/default.jpg"

灵感来自:http://msdn.microsoft.com/en-us/library/486wc64h%28v=vs.110%29.aspx

【讨论】:

  • 导入 System.IO 导入 System.Drawing 导入 System.Drawing.Drawing2D 导入 System.Drawing.Imaging 公共类 temp 继承 System.Web.UI.Page Dim img_chk As String Protected Sub Button1_Click(sender As Object , e As EventArgs) 处理 Button1.Click img_chk = TextBox1.Text Dim myImg As Image = CType(FindControl(img_chk), Image) myImg.ImageUrl = "~/ImageFolder/default.jpg" End Sub End Class
  • 如果我摆脱导入,那么它工作正常,但如果我使用 import System.Drawing.Imaging 它停止工作
  • 您需要的不是 System.Drawing.Image,而是System.Web.UI.WebControls.Image。对不起,我的不好,我不够清楚。我编辑了我的答案。
  • 实际上我正在重新调整上传图像的大小,然后确定图像的放置位置。我为此使用了 system.drawing.image
  • 现在可以向用户显示此图像,就像您正在寻找的那样。为此,您应该将图像物理保存在 Web 应用程序中,然后通过将 ImageUrl 设置为保存图像的位置,使用 System.Web.UI.WebControls.Image 引用它。这就是这样做的方法。
猜你喜欢
  • 2017-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多