#c# #javascript #.net #asp.net #visual-studio
#c# #javascript #.net #asp.net #visual-studio
Вопрос:
Я работаю над asp.Net и мне требуется создать калькулятор затрат, содержащий несколько полей и выпадающих списков с множеством сложных формул, и в нем было бы почти 50 текстовых полей, каждое из которых имеет отношение к предыдущим полям или тому подобное, в настольном приложении его довольно легко создать, но в asp, есть ли какой-либо код в asp.net или какой-то asp.net компонент, с помощью которого мы можем это сделать, я не хочу использовать javascript, я хочу реализовать его в коде, лежащем в основе c #. Есть способ реализовать это с помощью Ajax, но этот лист не будет работать, если сеть или Интернет закрыты, поскольку серверное приложение не работает, если сеть отключена, дайте мне знать, что делать. Atif
Комментарии:
1. Что плохого в использовании JavaScript? И если вы хотите реализовать его на C # и не требовать от него активного подключения к Интернету для работы, вам, вероятно, понадобится что-то вроде Silverlight.
2. Когда я работаю на Javascript, я не получаю никакого IntelliSense, без этого довольно сложно работать, и я сомневаюсь в новой версии браузера, в случае какой-либо поддержки функций js.
3. JavaScript в Visual Studio 2010 значительно улучшен по сравнению с предыдущими версиями. Я думаю, вам придется выбирать между выполнением этого на стороне клиента и использованием C #. Ну, это или что-то вроде Silverlight.
4. не будь агрессивным, лол, я застрял в проблеме, я принял твой комментарий, это означает, что javascript — единственный способ сделать это?
5. Вы работаете с активными страницами сервера и хотите, чтобы ваше приложение работало, когда сервера нет??? Тогда у вас должен быть некоторый код на стороне клиента, и JavaScript является обычным выбором, хотя, как указывает @R0MANARMY, Silverlight также был бы вариантом. Попробуйте избавиться от своей зависимости от Intellisense, чтение API всегда возможно и в долгосрочной перспективе сделает вас лучшим разработчиком. Выберите правильный инструмент для не самой простой задачи.
Ответ №1:
Есть эта старая статья в MSDN, в которой говорится об улучшении работы на стороне клиента с использованием DLL, загруженных с сервера. Это может быть незначительно полезным вариантом для использования.
Другой вариант — использовать что-то вроде Script # и написать свой код на C #, а компилятор перевести его на JavaScript. Насколько я понимаю, вы будете писать код, который в основном состоит из вычислений и, возможно, некоторой проверки, такого рода вещи должны легче переводиться с одного языка на другой.
Последнее, но не менее важное — это, по сути, написание толстого клиентского приложения, которое будет запускаться из браузера. Ваш основной вариант для этого — Silverlight. Это обеспечит богатый пользовательский интерфейс на стороне клиента и по-прежнему позволит получать доступ к приложению с веб-страницы. Его также можно заставить работать в ситуациях с частичным подключением (например, при отключении сети по какой-либо причине).
Комментарии:
1. вероятно, не стоит тратить время на, казалось бы, безнадежную операцию, но достойный ответ для потомков.
2. @nathan gonzalez: Спасибо, хотя ты слишком молод, чтобы так быстро терять веру в людей =).
3. и я думал, что цинизм — это универсальная черта разработчиков. 😉
Ответ №2:
Пожалуйста, кодируйте на c # и используйте Ajax (панель обновления). Не беспокойтесь о том, выключена сеть или включена. Вы можете развернуть на сервере, и оно будет работать с Интернетом.
Комментарии:
1. Если вы собираетесь заняться новой разработкой, UpdatePanel, вероятно, является худшим дизайнерским решением, которое вы можете принять.
2. Хорошо, хорошо, я сделаю на Javascript, дайте мне знать одну вещь, если мы создаем приложение на основе ajax, тогда можем ли мы использовать панель обновления или это все еще хуже для приложений ajax?
3. @Мухаммад Атиф Ага: Мое личное мнение таково, что это просто зло. С ним действительно легко начать, но в некоторых случаях это может быть медленнее, чем полная обратная передача (что, на мой взгляд, лишает смысла ajax).
4. Вы можете использовать PageMethods или AJAXMETHOD для вызова кода, лежащего в основе функций из Javascript.