Итак, так много вопросов по этому поводу, и все же я не могу для жизни меня найти ПРОСТОЙ ответ для ПРОСТОГО вопроса.
Итак, у меня есть ASP MVC (С#) с проектом просмотра бритвы (с макетом, созданным великими людьми DevExpress) - Отлично! :)
Ситуация
У меня есть <button>
, а <p>
отображается на моем представлении - все хорошо.
ID кнопки (достаточно забавно) myButton
, а параграф - myParagraph
.
У меня также есть HomeController
с простым методом
public string updateAlerts()
{
return "THIS IS AN IMPORTANT PARAGRAPH";
}
Мой вопрос:
Используя основы
<button id="myButton" onclick="myFunction()">This is a button</button>
Что мне нужно использовать для вызова этого метода?
есть много вопросов, говорящих о AJAX
или JQuery
- но, честно говоря, я не имею ни малейшего представления о том, как их использовать! (я идиот, хорошо?)
Поэтому я написал script
(который, честно говоря, я не думаю, что это "полностью" необходимо,
<script>
function myFunction(){
//how do I call this method here?
var myString = ...
document.getElementById("myButton").innerText = myString;
}
</script>
Может ли кто-нибудь сказать мне, как заполнить это простейшим/простым способом?
ура
редактировать
Я думал, что этот ответ поможет, но либо я просто глуп (возможно), либо не устраивает эту ситуацию (печальное лицо).
Я также не знаю, делает ли это "огромную" сделку, но этот "абзац" также расположен на одной из "панелей" (левая навигационная панель, которая должна быть уточнена) -and, так что будет видно на всех страницах система
Когда вы пытаетесь изменить свой внутренний текст myButton, это должно работать нормально:
<script src="/jquery.min.js"></script>
<script>
$(document).ready(function(){
$(document).ready(function () {
$("#myButton").click(function () {
$("#myParagraph").load("@Url.Action("updateAlerts","Home")");
});
});
});
</script>
Как вы уже догадались, вам нужно будет использовать ajax.
Ajax - это группа взаимосвязанных методов веб-разработки, используемых на стороне клиента для создания асинхронных веб-приложений.
Подробнее об этом читайте в wiki.
Это означает, что различные технологии/фреймворки реализуют его по-разному, причем jquery является одним из них. Конечный результат более или менее одинаковый, связь с сервером, без запрета действий пользователей (без зависания браузера и т.д.),
Чтобы это сработало, лучше всего включить jquery в ваш взгляд:
<script src="/jquery.min.js"></script>
тогда:
<script>
$(function () {
('#mybutton').on('click', function(){
$.ajax({
url: '@Url.Action(HomeController.updateAlerts())'
}).done(function(data){
$('#myParagraph').text(data);
});
});
})
</script>
В представлении:
<script src="/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#myButton').click(function(){
$.get('<%= Url.Action(ControllerName.updateAlerts()) %>', function (data)
{
$('#myParagraph').text(data);
})
});
});
</script>
Также обратите внимание, что если вы используете Razor, замените <%= Url.Action(ControllerName.updateAlerts()) %>
на @Url.Action(ControllerName.updateAlerts())