我正在尝试使用c#变量删除属性。
在实际编写应用程序之前,我正在测试我的方法。
我尝试使用javascript和jQuery,但没有发现任何可以允许 在代码后面将TextBox ID替换为字符串值。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="WebApplication2.index" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="myText" runat="server" required="required"></asp:TextBox>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication2
{
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string straspID = "myText";
bool fieldRequired = false;
if (fieldRequired == false)
{
//FindControl("myText");
FindControl(straspID);
if (straspID != null)
//
myText.Attributes.Remove("required");
// I want to use straspID instead of the ID of the asp page
// which will returned from a table - I'm simulating here
// I get an error if I use straspID for remove attribute
}
}
}
}
我的预期结果是删除所选ID的属性。 我目前遇到语法错误。
答案 0 :(得分:0)
此
FindControl(straspID);
没有按照您的想法做。
您可以检查index.aspx.designer.cs文件并查看是否存在一个名为“ myText”的受保护成员变量吗?
如果有,您可以简单地执行以下操作:-
if (fieldRequired == false)
{
myText.Attributes.Remove("required");
}
如果没有名为myText的受保护成员,则在类级别将一个成员添加到“索引”:-
namespace WebApplication2
{
public partial class index : System.Web.UI.Page
{
protected Textbox myText;
(etc)
只要您声明的类型正确且具有相同的名称和大小写,就无需借助FindControl来访问服务器控件。
答案 1 :(得分:0)
private void loadform(列出providerList) { foreach(providerList中的ProviderInRequest请求) { //计划的taget div 控制ctrl = FindControl(“ div” + req.aspName); //如果找到,则将visible设置为true。 如果(ctrl!= null) { //将div设置为可见 ctrl.Visible = true;
// set label to proper text
Label lbl = (Label)Page.FindControl("lbl" + req.aspName);
lbl.Text = displayName;