ASP.NET 中在指定的位置处插入字符

这是论坛中的一个问题,很多人经常会遇到,就贴出来。

完整代码如下,实现在光标处插入上传后的文件名:

<% @PageLanguage = " C# " AutoEventWireup = " true " %>
< script runat ="server" >
protected
void Page_Load(objectsender,EventArgse)
{
TextBox1.Attributes.Add(
" onclick " , " getCursor(' " + TextBox1.ClientID + " ',' " + Hidden1.ClientID + " '); " );
}
protected
void Button1_Click(objectsender,EventArgse)
{
stringfileName
= FileUpload1.FileName;
// 保存文件省略
int pos = 0 ;
Int32.TryParse(Hidden1.Value,outpos);
TextBox1.Text
= TextBox1.Text.Insert(pos,fileName);
}
</ script >
<! DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > ASP.NET中在指定的位置处插入字符 </ title >
< script type ="text/javascript" >
function getCursor(param1,param2)
{
var pos = 0 ;
var t = document.getElementById(param1);
if (document.selection)
{
t.focus();
var rng = document.selection.createRange();
rng.setEndPoint(
" EndToStart " ,t.createTextRange());
pos
= rng.text.length;
}
else if (t.selectionStart)
{
pos
= t.selectionStart;
}
document.getElementById(param2).value
= pos;
}
</ script >

</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< asp:TextBox ID ="TextBox1" runat ="server" Width ="629px" > 123456789 </ asp:TextBox >
< input id ="Hidden1" type ="hidden" runat ="server" />
</ div >
< asp:FileUpload ID ="FileUpload1" runat ="server" />
< asp:Button ID ="Button1" runat ="server" Text ="上载文件" OnClick ="Button1_Click" />
</ form >
</ body >
</ html >

你可能感兴趣的:(JavaScript,.net,XHTML,asp.net,asp)