Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
为什么当我用jquery更改图像的src时,在我的c#codebeahind中src没有更改?_C#_Jquery_Asp.net - Fatal编程技术网

为什么当我用jquery更改图像的src时,在我的c#codebeahind中src没有更改?

为什么当我用jquery更改图像的src时,在我的c#codebeahind中src没有更改?,c#,jquery,asp.net,C#,Jquery,Asp.net,我有一个缩略图库。单击缩略图时,主图像将更改为通过使用jQuery并更改图像的“src”标记单击的缩略图。这正如预期的那样有效 $('#ContentPlaceHolder1_photoSpotImage').attr('src', src.replace(/-thumbs/, '')); <asp:LinkButton runat="server" PostBackUrl="" ID="link2TheDownload" Text="+ download it" onclick="li

我有一个缩略图库。单击缩略图时,主图像将更改为通过使用jQuery并更改图像的“src”标记单击的缩略图。这正如预期的那样有效

$('#ContentPlaceHolder1_photoSpotImage').attr('src', src.replace(/-thumbs/, ''));
<asp:LinkButton runat="server" PostBackUrl="" ID="link2TheDownload" Text="+ download it" onclick="link2TheDownload_Click"></asp:LinkButton>
我有一个链接,当点击时,它会使用标题中的内容处理方法使图像成为一个可下载的文件。当在代码中硬设置时,它会按预期工作

$('#ContentPlaceHolder1_photoSpotImage').attr('src', src.replace(/-thumbs/, ''));
<asp:LinkButton runat="server" PostBackUrl="" ID="link2TheDownload" Text="+ download it" onclick="link2TheDownload_Click"></asp:LinkButton>
C#只有最初设置为Onload的文件名,jQuery似乎没有更改src

我需要获得当前的文件名,以便用户可以下载正确的图像文件


救命啊

JQuery只在客户端操作DOM。它不会修改视图状态,并且POST请求中不包含图像。您必须用正确的值发回一个隐藏的表单字段。

JQuery只在客户端操作DOM。它不会修改视图状态,并且POST请求中不包含图像。您必须用正确的值发回一个隐藏的表单字段。

是的,这是您代码的正确结果,它不会更新,因为它使用的是来自服务器的呈现html,而不是jQuery更新的html,这就是它的工作原理,对于您的调整,您可以调整C代码中的代码,如下所示:

string thisServerName = Request.ServerVariables["SERVER_NAME"].ToString();
photoSpotImage.Src.ToString().Replace("-thumbs", string.Empty);

是的,这是您代码的正确结果,它不会更新,因为它使用的是来自服务器的呈现html,而不是jQuery更新的html,这就是它的实际工作方式,对于您的调整,您可以只调整C代码中的代码,如下所示:

string thisServerName = Request.ServerVariables["SERVER_NAME"].ToString();
photoSpotImage.Src.ToString().Replace("-thumbs", string.Empty);

首先,对代码隐藏执行以下操作:

photoSpotImage.Attributes["data-filename"] = "image.jpg";
现在,这将在客户端输出如下内容:

<a id="ContentPlaceHolder1_photoSpotImage" data-filename="image.jpg">Test hyperlink</a>

您可以使用“文件路径”而不是文件名,但我上面的示例应该会给您一个大致的想法。

首先,对您的代码进行以下操作:

photoSpotImage.Attributes["data-filename"] = "image.jpg";
现在,这将在客户端输出如下内容:

<a id="ContentPlaceHolder1_photoSpotImage" data-filename="image.jpg">Test hyperlink</a>

你可以用“文件路径”来代替文件名,但我上面的例子应该会给你一个大概的想法。

试试
photoSpotImage.Attributes[“src”]
如果你查看你的C源代码,你会看到它写着“runat=Server”。Web表单是服务器的产物(以HTML格式呈现并发送到浏览器);jQuery完全是客户端(完全在浏览器中执行)。两者永远不会相遇:)试试photoSpotImage.Attributes[“src”]如果你看看你的C源代码,你会看到它写着“runat=Server”。Web表单是服务器的产物(以HTML格式呈现并发送到浏览器);jQuery完全是客户端(完全在浏览器中执行)。我把下载过程放到一个单独的页面中,并在提交时在隐藏字段中传递。谢谢我将下载过程放在一个单独的页面中,并在提交时在隐藏字段中传递。谢谢