![](/img/trans.png)
[英]Call javascript function defined in html page from aspx.cs page
[英]From aspx.cs call ASP.NET Master Page (.Master) function
在ASP.NET母版頁(.Master)中,有一個文本框應過濾網站中的內容。 為此,我想在.aspx.cs文件中調用函數GetMessageLogs。
的Site.Master:
<button onclick="containCatText()" class="catbtn">Category</button>
<div id="myDropdownCat" class="catdown-content">
<input type="text" placeholder="Search.." id="myCat" onkeyup="filterFunction()">
</div>
<script>
var myCat = document.getElementById("myCat").value;
</script>
Feeds.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Feeds.aspx.cs" Inherits="ReportTool.Users.Feeds" %>
Feeds.aspx.cs:
namespace ReportTool.Users
{
public partial class Feeds : System.Web.UI.Page
{
Inov.ReportTool rt = new Inov.ReportTool();
MessageLogs = rt.GetMessageLogs(null, Server.MapPath("/ReportTool/Photo") + "\\", Server.MapPath("/ReportTool/Video") + "\\", new DateTime(2016, 09, 15),DateTime.Now, "%J%","Tr");
我的問題就是,如何從Site.Maste的變量myCat中替換Feeds.aspx.cs中的“%J%”?
如果要使用ASP.Net WebForms:
首先,由於myCat
不具有runat="server"
屬性,因此無法輕松將myCat
控件中的數據發送到代碼隱藏(.aspx.cs)頁面。
此外,(通常)將WebForms設置為使每個頁面獨立運行。 可以通過以下方法來解決(從Site.Master代碼隱藏頁調用函數,使用Session變量,使用數據庫-這些都涉及在您正在使用的兩個頁面之間創建通信通道)。
以我的經驗,如果母版頁的代碼隱藏了搜索功能,則容易得多。
如果要改用JavaScript
由於您已經引用了JavaScript函數,因此您可能會更願意遵循此路徑(或不這樣做-這里沒有一個正確的答案):如果您想使用JavaScript並將搜索功能保留在Web API中,則Microsoft 這里提供了一個非常深入的演練。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.