Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在会话变量中获取锚文本?_Javascript_C#_Jquery_Asp.net - Fatal编程技术网

Javascript 如何在会话变量中获取锚文本?

Javascript 如何在会话变量中获取锚文本?,javascript,c#,jquery,asp.net,Javascript,C#,Jquery,Asp.net,我正在从事一个项目,在该项目中,我在母版页中链接了许多pdf文件。单击“锚定”后,页面将重定向到指定页面,并在iframe中显示pdf。现在,我希望锚定标记中的文本显示在打开pdf的页面上。 假设我有一个看起来像这样的锚: <a href="<%= ResolveUrl("~") %>Main_Content.aspx?open=Departments/HR/NewsLetter/newsletter_dec_2014.pdf">News Letter</a>

我正在从事一个项目,在该项目中,我在母版页中链接了许多pdf文件。单击“锚定”后,页面将重定向到指定页面,并在iframe中显示pdf。现在,我希望锚定标记中的文本显示在打开pdf的页面上。 假设我有一个看起来像这样的锚:

<a href="<%= ResolveUrl("~") %>Main_Content.aspx?open=Departments/HR/NewsLetter/newsletter_dec_2014.pdf">News Letter</a>

现在我希望文本“新闻信”显示在重定向页面上。
我想我可以通过在session变量中保存文本来实现这一点,但是如何在session变量中保存锚文本而不为锚标记指定任何id或类呢?有人能帮我吗?

您可能正在寻找QueryString而不是session,您已经在传递路径,也在传递锚文本。您需要在创建锚定标记时将其添加到url

<a href="<%= ResolveUrl("~") %>Main_Content.aspx?open=Departments/HR/NewsLetter/newsletter_dec_2014.pdf&aText=News Letter">News Letter</a>
编辑您不能在创建查询字符串时更改它,然后可以在
document.ready的DOM中加载它时更改它。为锚点指定一个特定的类

$( 'a.someclass' ).attr( 'href', function(index, value) {
  return value + '&aText=' + $(this).text();
});
单击锚点时执行此操作的其他方法

$( 'a.someclass' ),click(function(event) {
    window.location.href = this.href +  '&aText=' + $(this).text();
});

您可以使用javascript动态编写内容:

<a href="<%= ResolveUrl("~") %Main_Content.aspx?open=Departments/HR/NewsLetter/newsletter_dec_2014.pdf">News Letter</a>
<script language="javascript">
function openWin(t,u) {
docstring='<iframe src='+u+'></iframe>';
win = window.open();
newdoc=win.document;
newdoc.writeln(t);
newdoc.write(docstring);
newdoc.close();
}

var elements = document.getElementsByTagName('a');
for(var i = 0, len = elements.length; i < len; i++) {
elements[i].onclick = function () {

var theAnchor = elements[i].innerHTML;
var theHref = elements[i].href;    

 if(theHref.match(/\.pdf/)){
  openWin(theAnchor,theHref);
 }
}
</script>

Javascript:

<a href="<%= ResolveUrl("~") %Main_Content.aspx?open=Departments/HR/NewsLetter/newsletter_dec_2014.pdf">News Letter</a>
<script language="javascript">
function openWin(t,u) {
docstring='<iframe src='+u+'></iframe>';
win = window.open();
newdoc=win.document;
newdoc.writeln(t);
newdoc.write(docstring);
newdoc.close();
}

var elements = document.getElementsByTagName('a');
for(var i = 0, len = elements.length; i < len; i++) {
elements[i].onclick = function () {

var theAnchor = elements[i].innerHTML;
var theHref = elements[i].href;    

 if(theHref.match(/\.pdf/)){
  openWin(theAnchor,theHref);
 }
}
</script>

函数openWin(t,u){
docstring='';
win=window.open();
newdoc=win.document;
新的书面文件(t);
newdoc.write(docstring);
newdoc.close();
}
var elements=document.getElementsByTagName('a');
for(var i=0,len=elements.length;i
或者使用URL和test作为参数调用不同的地址,并在服务器端生成文档

我不确定这将如何与链接点击行为,但它可能是值得一试

链接不应该被修改。

你可以试试这个

$("a").click(function (e) {
if($(this).attr("href").match(".pdf$"))
{
    window.location.href = $(this).attr("href") + "&title=" + $(this).text();
    e.preventDefault();
}
});
在“Main_Content.aspx”的服务器端


为什么需要id或类才能在会话中放置锚文本?我不需要id或类,我只想在单击锚时将锚文本保存在会话变量中:)我认为@Adil的解决方案是完美的。不,在这种情况下对我没有帮助不,我不想在查询字符串中添加这个,因为有数百个文件链接,所以我无法更改将它们全部删除,建议我使用javascript或jquery或任何技巧:)未获取查询字符串中的值我使用了:$('a.sendtext'),单击(函数(事件){您是否将类分配给锚定标记并使用了最后两个解决方案?不,我没有分配任何类,我只是使用了上面标记为答案的解决方案:)如果您不指定类,它将应用于页面上的所有锚点。今天可能是正确的,但明天可能会出现问题。在更改DOM元素时,我们必须明确。text,而不是test。对不起,实际上问题是项目中链接了许多文件,我无法更新整个项目中的锚点标记,但我支持您的回答谢谢…我的支持:)更新了,所以href就不用管了。如果不以某种方式修改链接,添加onclick事件、添加id、添加类,就无法做到这一点。否则为所有链接添加事件侦听器会产生大问题。非常感谢,它解决了我的问题。这是解决此问题的非常酷的解决方案,而不修改e主播或任何标签非常感谢:):)我会支持你的答案(y)我的支持:)