Извините, неправильно понятый Ваш вопрос.
Согласно JavaScript - получающий onsubmit при вызове form.submit () :
меня недавно спросили: "Почему form.onsubmit событие не становится запущенным, когда я отправляю свою форму с помощью JavaScript?"
ответ: Текущие браузеры не придерживаются этой части спецификации HTML. Событие только стреляет, когда оно активируется пользователем - и не стреляет при активации кодом.
(добавленный акцент).
Примечание: "активированный пользователем" также включает совершающие нападки кнопки отправки (вероятно, включая значение по умолчанию, отправляют поведение от клавиши Enter, но я не попробовал это). Ни, я верю, делает это инициировано (с кодом) при нажатии на кнопку отправки.
Если у вас есть много кода, который уже написан на определенном языке, отдайте предпочтение этому языку.
В противном случае, если у вас больше разработчиков, хорошо разбирающихся в одном языке, предпочтите этот язык.
В противном случае предпочтите C # (он, как правило, более популярен, и с точки зрения функций они не настолько различаются, чтобы сделать осмысленный выбор по сравнению с одними только функциями).
Как человеку, работающему в смешанном цехе, не так уж и сложно использовать оба. Но полезно иметь стандарт, который упрощает перемещение кода туда и обратно. Вот несколько идей для вашего стандарта:
Для разработчиков VB:
Convert.To ___ ()
, где это возможно, для простого преобразования в C # и обратно. ] Option Strict
и Option Explicit
. Вы откажетесь от некоторой крутизны динамической типизации, сделав ее требованием, а не сильным предложением, но стоит сохранить паритет кода с C #. AndAlso
и OrElse
перед And
и ] Или
Для разработчиков C #:
SomeType sometype = ...
). Скажите им использовать вместо этого префикс _ (а не "m_"). Вы все равно должны это сделать, но это особенно важно в смешанном магазине, потому что с этим кодом будет труднее работать в VB. Для обоих:
Если вы это сделаете,
Вопрос, который вы задаете, на самом деле очень важен, и слишком многие люди скажут вам, что выбор языка - это просто личное предпочтение. Но вы уже знаете, что с точки зрения организации это не так. Выбор стандартного набора фреймворков, языков, инструментов и т. Д. Является важным бизнес-решением.
Ваши программисты должны уметь использовать любой язык с небольшим временем, поддержкой и, возможно, небольшим обучением. C # и VB близки, и нет серьезных технических причин для выбора одного из них ...
Поэтому я советую выбирать язык вашей организации, исходя из коммерческих соображений. Если проще нанимать специалистов по C # или если вы обнаружите, что у них, как правило, более высокий набор навыков для той работы, которую вы выполняете, то наберите один балл для C #. Если вы пишете код для клиентов, и эти клиенты предпочитают продукты C #, а затем получают еще один результат за C #. Если у вас есть существующий код на VB, поставьте один балл для VB.
Это должна быть довольно простая разбивка ... просто игнорируйте технические причины и сосредоточьтесь на том, как выбор языка повлияет на ваш бизнес с точки зрения найма, обучения, способности предоставлять клиентам услуги и т. Д.
На предыдущем клиенте , которые написали свои критически важные приложения на VB, им стало труднее найти программистов на VB, чем на C #.
Поэтому они решили начать переключать свои приложения на C #.
Как и в случае с большинством IT / Dev вопросы, ответ зависит от обстоятельств. Если в вашем отделе больше людей, которые отлично разбираются в VB, выбирайте VB. Не думаю, что один из них намного лучше другого.
Если есть единственная причина использовать C # для вашей компании, то это лямбда-оператор. Без полной поддержки лямбда-оператора в VB.NET некоторые из лучших инструментов становятся либо поврежденными, либо DOA. Например: Fluent NHibernate, StructureMap и т. Д.
Несколько лет назад мы стандартизировали C #, потому что у C #, похоже, больше поклонников среди серьезных разработчиков.
Позвольте мне пояснить, что я не говорю ничего плохого о VB.NET или тех, кто его использует.
Чисто с точки зрения возможностей они настолько близки, насколько это возможно для двух языков. VB.NET имеет тенденцию к большей интерактивности COM и имеет буквальный XML - но C # скоро получит часть этого.
На самом деле это просто личные предпочтения и то, на каком языке, по вашему мнению, команда может быть наиболее продуктивной.
Похоже, у вас уже есть стандарт - VB.NET. И, возможно, вы испытываете соблазн или заинтересованы в том, чтобы вместо этого перейти на C #.
Не имеет смысла писать половину ваших систем на VB, а половину на C # - хотя в зависимости от характера вашей организации это может не применяться. Но в целом организация не должна относиться к этим изменениям легкомысленно.
Если бы я был вами (и вы заинтересованы в переходе на C # для себя), то я бы настаивал на C #, но если бы я был бизнесом, мне бы понадобился очень хорошая причина для введения этой новой проблемы сложности, затрат и управления.
Недавно у нас была такая же проблема. На самом деле мы просто кодируем и то, и другое, в зависимости от того, в чем был запущен исходный проект. На удивление легко переключаться туда и обратно, особенно с Visual Studio (он всегда «напоминает» мне, когда я начинаю набирать «bool myvar ...», что я я делаю что-то не так, если я использую файл .vb).
Наш приоритет выглядит следующим образом:
Руководящим фактором должно быть наличие веских причин для перехода от одного стандарта к другому. Используйте это: