在 c# 中以编程方式访问 asp.net Label 的值 innerHtml 值
Access the value innerHtml value of asp.net Label programmatically in c#
>我有一个javascript,它可以获取光标位置的值,并且效果很好。我将该值分配给 asp.net 标签的 innerHtml 属性。当发生treeview_selectednodechange事件时,我想在我的程序中访问这个 innerHtml 属性。如何实现这一点?
这是我使用的JavaScript:-
function ShowSelection() {
var txt1 = document.getElementById("MainContent_txtQuery");
var currentRange = document.selection.createRange();
var workRange = currentRange.duplicate();
txt1.select();
var allRange = document.selection.createRange();
var len = 0;
while (workRange.compareEndPoints("StartToStart", allRange) > 0)
{
workRange.moveStart("character", -1);
len++;
}
currentRange.select();
document.getElementById("MainContent_lblPos").innerHTML = len;
}
我想访问它的地方是:-
string[] selectedNode = treeViewTables.SelectedNode.Text.Split('<', '>');
string pos = lblPos.Text;
if (selectedNode[2].Equals("Table(s)") || selectedNode[2].Equals("Parameter(s)"))
{
return;
}
string parentNode = treeViewTables.SelectedNode.Parent.Text;
if (parentNode.Contains("Table(s)"))
{
txtQuery.Text = txtQuery.Text + " " + selectedNode[2];
txtQuery.Text = RemoveSpaces(txtQuery.Text);
}
else if (parentNode.Contains("Parameter"))
{
//if (txtQuery.Text != "")
if (lblPos.Text == string.Empty)
{
if (txtQuery.Text.Length == 0)
{
txtQuery.Text = selectedNode[2];
}
else if (txtQuery.Text[txtQuery.Text.Length - 1] != ',')
{
txtQuery.Text = txtQuery.Text + " " + "'" + selectedNode[2] + "'";
txtQuery.Text = RemoveSpaces(txtQuery.Text);
}
else
{
txtQuery.Text = txtQuery.Text + " " + selectedNode[2];
txtQuery.Text = RemoveSpaces(txtQuery.Text);
}
}
}
else
{
txtQuery.Text = txtQuery.Text + " " + selectedNode[2] + ",";
txtQuery.Text = RemoveSpaces(txtQuery.Text);
}
TreeNode nodeSelected = treeViewTables.Nodes[0];
nodeSelected.Select();
请帮忙。
谢谢
标签的内容(客户端的跨度)永远不会回发到服务器。
添加一个<asp:HiddenField>
并在客户端设置其值,同时更改标签的 innerHtml。此值将在服务器端自动可用。
DOM 元素不会往返服务器,只会传递表单元素。您唯一能够在服务器上的标签中访问的是服务器上设置的内容。
为了执行所需的操作,您需要创建一个 Hidden 字段并将其值设置为坐标,以便它在回发时到达服务器。
理解正确,您正在尝试在 javascript 中设置标签控件的内容,然后使用 C# 在 ASP.NET 服务器端访问它?
如果这是您要尝试执行的操作,则无法执行此操作,因为标签控件呈现为 HTML span 元素,而不是表单元素。 只有表单元素在回发(完整或部分)时发送回服务器。 您可以将相同的值设置为隐藏字段并访问它在服务器端,也可以使用 AJAX 调用将其传递回服务器。
此外,直接在 javascript 中引用渲染的客户端 ID 可能不是一个好主意。 即。而不是
document.getElementById("MainContent_txtQuery")
你会更安全
document.getElementById("<%=txtQuery.ClientID%>")
- 借助asp.net验证或java脚本对多个文本进行验证
- java.net和javascript之间正则表达式的差异
- 将Javascript数组发送到控制器ASP.NET MVC
- ASP.NET通过单击JavaScript按钮触发c#事件
- 将数据从javascript文件导入VB.Net页面
- 文本框不是从Javascript/Asp.net中的对话框中打印出来的
- 从javascript调用asp.net codebehind函数
- jQuery Error adadvisor.net
- 使用javascript的Asp.net内容占位符
- 获取ASP.NET Ajax Timer状态
- ASP.NET网络摄像头显示
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 如何将乳胶配方奶粉图像保存到Asp.net中的文件夹中
- asp.net,包括iss上的javascript slow
- 选择不在GridView-ASP.NET中激发
- 如何添加CSS&JavaScript进入Windows窗体应用程序C#.net
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 使用带有.net autopostback的ryanfait.com自定义表单元素
- VB NET JQUERY AJAX上出现错误500
- 在 c# 中以编程方式访问 asp.net Label 的值 innerHtml 值