第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 ASP.NET Core 中從 Javascript 調(diào)用 C# 方法?

如何在 ASP.NET Core 中從 Javascript 調(diào)用 C# 方法?

C#
楊__羊羊 2023-05-14 16:51:53
我的Index.cshtml文件中有一個(gè)用戶名文本框,我想在用戶更改文本框內(nèi)的文本時(shí)檢查我們的 Active Directory 中的匹配項(xiàng),然后可能將其顯示在 中DropDownList,以便用戶可以從中選擇。所以我在文本框的事件上調(diào)用了一個(gè) JavaScript 函數(shù)oninput,現(xiàn)在的問題是如何從該 JS 函數(shù)調(diào)用我的 C#FindUser()方法Index.cshtml.cs?我已經(jīng)嘗試了很多我讀過的東西,ajax調(diào)用不起作用,添加[WebMethod]和使方法靜態(tài)不起作用,互聯(lián)網(wǎng)上的大多數(shù)都是在我沒有使用的 MVC 上。中的文本框Index.cshtml:<input type="text" class="form-control" oninput="findUsers()" />JavaScript 函數(shù):function findUsers() {  $.ajax({    url: 'Index\FindUser',    success: function (data) {      alert(data);    },    error: function (error) {      alert("Error: " + error);    }  })}引導(dǎo)瀏覽器提醒錯(cuò)誤:[對(duì)象對(duì)象]Index.cshtml.cs 中的方法:public void FindUser(){  // code            }甚至沒有從 JS 函數(shù)調(diào)用該方法。我也讀過幾次從視圖中調(diào)用 C# 方法不是正確的方法。如果是這樣,我怎樣才能實(shí)現(xiàn)我的目標(biāo)呢?
查看完整描述

6 回答

?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊

我看到您正在使用 Razor 頁面。razor 頁面模型中的方法不是路由方法(它不能通過請(qǐng)求路由來調(diào)用),這就是為什么嘗試發(fā)送請(qǐng)求將不起作用ajax,Index\FindUser并且服務(wù)器返回的錯(cuò)誤將是 404 not found。


或者,您可以使用剃刀頁面處理程序。


在您Index.cshtml.cs將方法重命名FindUser()為OnGetFindUser()或OnGetFindUserAsync()該方法是否為異步方法時(shí)。


然后,您可以通過向 發(fā)送請(qǐng)求來調(diào)用此方法"Index?handler=FindUser"。


// Note the difference in method name

public IActionResult OnGetFindUser()

{

? ? return new JsonResult("Founded user");? ? ? ? ??

}

function findUsers() {

? $.ajax({

? ? type: 'GET',

? ? // Note the difference in url (this works if you're actually in Index page)

? ? url: '?handler=FindUser',

? ? success: function (data) {

? ? ? alert(data);

? ? },

? ? error: function (error) {

? ? ? alert("Error: " + error);

? ? }

? })

}

查看完整回答
反對(duì) 回復(fù) 2023-05-14
?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

我還不是很有經(jīng)驗(yàn),我去年才開始編程,但我希望我能幫上一點(diǎn)忙。

我也有類似的問題,但我無法直接從 JavaScript 執(zhí)行函數(shù)。您也許可以創(chuàng)建對(duì) C# 的 API 調(diào)用并使 API 執(zhí)行您想要的功能,然后將數(shù)據(jù)返回給客戶端。

如果我沒有誤解的話,您希望用戶鍵入一些文本,然后根據(jù)鍵入的文本從數(shù)據(jù)庫返回一個(gè)列表。

您可以在輸入標(biāo)簽中使用 onChange,每次更改時(shí),它都會(huì)向服務(wù)器執(zhí)行 API 請(qǐng)求,服務(wù)器將搜索您需要的任何內(nèi)容并將其作為 json 返回。然后在 JavaScript 中,解析數(shù)據(jù)并將其放入 select 標(biāo)記中。

希望能幫助到你。


查看完整回答
反對(duì) 回復(fù) 2023-05-14
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

好的,首先,您在 javascript 函數(shù)中調(diào)用 jquery。

從 ajax 調(diào)用控制器操作方法非常簡(jiǎn)單。

您需要確定請(qǐng)求類型、url、返回的數(shù)據(jù)類型、傳遞的參數(shù)等,然后在控制器操作和 ajax 請(qǐng)求成功和錯(cuò)誤函數(shù)上設(shè)置斷點(diǎn)。然后您將能夠看到它成功或失敗的原因。

我會(huì)這樣做的方式是給輸入一個(gè) id,然后當(dāng)用戶鍵入文本時(shí)捕獲事件。

不要混淆 jquery 和 javascript。

Jquery 是一個(gè)將 javascript 封裝在其中的框架。

Javascript 是母語。


查看完整回答
反對(duì) 回復(fù) 2023-05-14
?
侃侃無極

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊

您可以像這樣使用 onkeyup 或 onblur


onblur:當(dāng)你離開輸入框時(shí),觸發(fā)一個(gè)函數(shù)


onkeyup:當(dāng)用戶在輸入域中松開一個(gè)鍵時(shí)觸發(fā)的函數(shù)


然后像這樣修改你的代碼


html文件:


<input type="text" class="form-control" id="username" oninput="findUsers()" />

js


function findUsers() {

    var username= document.getElementById("username").value;

    $.ajax({

        type: 'GET',

        url: '/Home/FindUser

        dataType: 'json',

        data: {username},

        success: function (data) {

            console.log(data);

        },

        error: function (error) {

            console.log(error);

        }

    });

}

你必須返回這樣的東西。您正在使用 void 關(guān)鍵字,因此它不會(huì)向 FE 端返回任何內(nèi)容


public JsonResult FindUser(string username)

{

    var object = {

     // something here

    }

    return Json(object);

}


查看完整回答
反對(duì) 回復(fù) 2023-05-14
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

像這樣更改您的 API:


public bool FindUser(string value)

{

    if (value == "Joe")

        return true;

    else

        return false;

}

然后這樣稱呼它:


<script type="text/javascript">


function findUsers() {

    var value = document.getElementById("value").value;

    $.ajax({

        type: 'GET',

        url: '/Home/FindUser,

        data: value,

        dataType: 'json',

        success: function (data) {

            alert(data);

        },

        error: function (error) {

            alert(error);

        }

    });

}

</script>

<br />

<input type="text" class="form-control" id="value" oninput="findUsers()" />


查看完整回答
反對(duì) 回復(fù) 2023-05-14
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以通過向 Index.cshtml 添加少量?jī)?nèi)容來準(zhǔn)確地調(diào)用方法。第一行可能是:

@page "{handler?}"

然后從ajax調(diào)用:

url:'/index/FindUser'

在 Index.cshtml.cs 調(diào)用方法中:

void  OnGetFindUser(){}


查看完整回答
反對(duì) 回復(fù) 2023-05-14
  • 6 回答
  • 0 關(guān)注
  • 304 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)